[LLVMdev] Google's Go

Bob Wilson bob.wilson at apple.com
Thu Nov 19 13:04:13 PST 2009


On Nov 19, 2009, at 2:10 PM, Jon Harrop wrote:

> On Thursday 19 November 2009 19:48:18 Owen Anderson wrote:
>> On Nov 19, 2009, at 10:25 AM, Jon Harrop wrote:
>>>> In this case, the assertion that LLVM is slow is correct: it's
>>>> definitely slower than a non-optimizing compiler.
>>>
>>> I'm *very* surprised by this and will test it myself...
>
> I've tested it and LLVM is indeed 2x slower to compile, although it  
> generates
> code that is 2x faster to run...
>
>> Compared to a compiler in the same category as PCC, whose pinnacle of
>> optimization is doing register allocation?  I'm not surprised at all.
>
> What else does LLVM do with optimizations turned off that makes it  
> slower?

I haven't looked at Go at all, but in general, there is a significant  
overhead to creating a compiler intermediate representation.  If you  
produce assembly code straight out of the parser, you can compile  
faster.

Even though LLVM does little optimization at -O0, there is still a  
fair amount of work involved in translating to LLVM IR.



More information about the llvm-dev mailing list