[llvm-commits] [llvm] r169626 - in /llvm/trunk: include/llvm/MC/MCAssembler.h lib/MC/MCAssembler.cpp lib/MC/MCELFStreamer.cpp lib/MC/MCMachOStreamer.cpp lib/MC/MCObjectStreamer.cpp lib/MC/MCPureStreamer.cpp lib/MC/WinCOFFStreamer.cpp

Eli Bendersky eliben at google.com
Sat Dec 8 14:48:11 PST 2012


> In case anyone is afraid of the performance impact (I was), I
> benchmarked running llvm-mc on the -O0 clang output of gcc as a single
> file (31 MB).
>
> 169625:
> 3.078563052 seconds time elapsed
>    ( +-  0.42% )
>
> 169626:
> 3.140238572 seconds time elapsed
>    ( +-  0.77% )
>
> 169644:
> 3.062390941 seconds time elapsed
>    ( +-  0.74% )
>
> So it looks like all the impact was from having a larger instruction
> fragment, which got fixed in 169644 :-)
>

Thanks for doing the measurement. It's good to know that practice
sometimes aligns with theory ;-)
Can you share your measurement methodology, by the way? You ran
llvm-mc on textual assembly produced by Clang? How many times did you
run it / average / median? I'm asking because >1% differences in
performance tend to be notoriously unreliable.

Eli



More information about the llvm-commits mailing list