dmd-x64

Pelle Månsson pelle.mansson at gmail.com
Wed Dec 23 15:53:10 PST 2009


On 12/23/2009 10:40 PM, retard wrote:
> Wed, 23 Dec 2009 12:02:53 -0500, bearophile wrote:
>
>> Leandro Lucarella:
>>
>>> bearophile, el 23 de diciembre a las 00:13 me escribiste:
>>>> Compared to GCC LLVM lacks vectorization (this can be important for
>>>> certain heavy numerical computing code), profile-guided optimization
>>>> (this is usually less important, it's uncommon that it gives more
>>>> than 5-25% performance improvement)
>>>
>>> I don't know if that are accurate numbers, but 5-25% looks like a *lot*
>>> to me.
>>
>> Vectorization can improve 2X or 3X+ the performance of certain code
>> (typical example: matrix multiplication done right).
>>
>> Performance differences start to matter in practice when they are 2X or
>> more. In most situations users aren't able to appreciate a 20%
>> performance improvement of an application. (But small improvements are
>> important for the compiler devs because they are cumulative, so many
>> small improvements may eventually lead some a significant difference).
>
> Aren't able to appreciate? Where are those numbers pulled from?
> Autovectorization mostly deals with expression optimizations in loops.
> You can easily calculate how much faster some code runs when it uses e.g.
> SSE2 instructions instead of plain old x86 instructions.

I think you miss the point, he said vectorization was a big deal. The 
numbers on profile guided optimization seem a bit odd though.

>> LLVM devs are also very nice people, they help me when I have a problem,
>> and they even implement large changes I ask them, often in a short
>> enough time. Helping them is fun. This means that probably the compiler
>> will keep improving for some more time, because in open source projects
>> the quality of the community is important.
>
> And GCC devs aren't nice people? They won't help you if you have a
> problem? Helping them isn't fun? GCC won't keep improving because it's
> open source? You make no sense. How much do the LLVM devs pay you for
> advertising them?

LLVM is way younger than GCC. In my experiments, I get mostly better 
performance out of clang than out of gcc. Working with LLVM seems like 
more fun to me.



More information about the Digitalmars-d mailing list