[LLVMdev] tot clang/llvm and tot gcc performance comparision
Xinliang David Li
xinliangli at gmail.com
Sun Nov 14 22:36:07 PST 2010
On Sun, Nov 14, 2010 at 11:52 AM, Evan Cheng <evan.cheng at apple.com> wrote:
> Thanks David. Unfortunately many of us cannot use GPL v3 gcc so it's hard
> for us to investigate this. One question, can you tell if gcc is inlining
> significantly more than llvm?
>
Evan, I have not looked at the details, so I am not sure.
> We have reports that this is one of the issue plaguing eon performance.
>
>
For C++ program, inliner can be a big differentiator. For C programs,
without profile feedback, the inliner probably won't play as big a role. I
looked at some small cases, llvm seems quite aggressive in inlining.
> There are also some relatively well known spec optimizations that we
> haven't implemented. e.g.
> http://gcc.gnu.org/wiki/summit2010?action=AttachFile&do=get&target=meissner2.pdf Are
> there more?
>
The paper talks about SPEC06 programs. I hope neither gcc nor llvm resorts
too much on benchmark specific tunings ..
Thanks,
David
>
> Evan
>
> On Nov 13, 2010, at 12:56 PM, Xinliang David Li wrote:
>
>
> Hi, I have looked at the LLVM code generation quality using small test
> cases and in general it is better than I thought and in some cases better
> than gcc. However, there are still some gap in SPEC performance. I have not
> looked at the root cause of those gaps. Anyone who cares about LLVM
> performance need to take this seriously.
>
> For fair comparison, I used -fno-strict-aliasing in gcc to turn off type
> based aliasing. I also used -fomit-frame-pointer for clang/llvm because this
> is not the default. The base option is -O2. Measured on 2.4GHz core-2 box.
>
> 64bit:
>
> llvm gcc
> gcc vs LLVM
> 164.gzip 1268 1320 4.15%
> 175.vpr 1605 1534 -4.42%
> 176.gcc 2203 2315 5.08%
> 181.mcf 1625 1737 6.85%
> 186.crafty 2411 2307 -4.30%
> 197.parser 1173 1166 -0.57%
> 252.eon 2245 2464 9.72%
> 253.perlbmk 2214 2444 10.37%
> 254.gap 1987 1978 -0.47%
> 255.vortex 2497 2422 -3.00%
> 256.bzip2 1585 1740 9.80%
> 300.twolf 2294 2281 -0.58%
>
> As you can see, LLVM beats gcc in vpr, crafty and vortex by about 3%, but
> falls behind gcc in gzip, gcc, mcf, eon, perfbmk, and bzip2 by a large
> margin.
>
>
> 32bit:
> llvm gcc
> gcc vs llvm
> 164.gzip 1210 1239 2.44%
> 175.vpr 1662 1621 -2.42%
> 181.mcf 2733 3109 13.75%
> 186.crafty 1812 1721 -5.00%
> 197.parser 1328 1289 -2.92%
> 253.perlbmk 2086 2580 23.67%
> 254.gap 1968 1912 -2.86%
> 255.vortex 1842 1965 6.66%
> 256.bzip2 1440 1553 7.82%
> 300.twolf 2284 2213 -3.08%
>
> It beats gcc in vpr, crafty, parser, gap, and twolf by ~3%, but falls
> behind gcc in gzip, mcf, perlbmk, vortex, and bzip2. Some of them have very
> large performance gap. eon and gcc mis-compile.
>
> Thanks,
>
> David
> _______________________________________________
> LLVM Developers mailing list
> LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20101114/6c3dd075/attachment.html>
More information about the llvm-dev
mailing list