tinycc-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Tinycc-devel] modern c++ compiler written in C (food for thought)


From: Jared Maddox
Subject: Re: [Tinycc-devel] modern c++ compiler written in C (food for thought)
Date: Mon, 2 Nov 2015 17:03:22 -0600

> Date: Sun, 1 Nov 2015 07:30:14 +0100
> From: "Christian Jullien" <address@hidden>
> To: <address@hidden>
> Subject: Re: [Tinycc-devel] modern c++ compiler written in C (food      for
>         thought)
> Message-ID: <address@hidden>
> Content-Type: text/plain;       charset="us-ascii"
>
>> : in fact, Comeau C/C++ compiles to C, and until recently was the ONLY
> major compiler to support some C++ features.
>
> Sure, C backend as interim code generator works well provided you rely on C
> optimizer to polish the code. I do the same with my OpenLisp compiler (see
> how it works here https://en.wikipedia.org/wiki/OpenLisp#Compiler).
> The idea is to first optimize as much as you can and then target a so simple
> C code that it's a piece of cake for C optimizer to finish the job.
> My compiler beats native "Lisp->bare metal assembler" compilers because it
> uses all tricks -O3 is able to do. It achieves good performances at the
> price of a very long optimization analysis (sometimes, a single lisp file
> generates half megabyte non commented C file!!).
>
> NOW
>
> What is "funny" with tinycc is that, due to the lack of optimization,
> compiled code is twice as SLOW as interpreted code and remember that my lisp
> compiler already does branch tension, dead code elimination, constant
> folding, redundant store elimination and few other optimization before C
> code generation.
>
> I bet it would be even worse with the code Cfront generates.
>

If you read my previous email, you'll see that at no point did I say
that low speed of resulting programs should be considered a reason for
this project to stop. This is because low speed of resulting programs
should not be considered a reason for this project to stop. TCC has
never been about producing fast programs, but instead has always been
about producing those programs quickly. The only relevant question is
whether it can compile programs quicker than the common C++ compilers,
everything else is a distraction.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]