Results 1 to 2 of 2

Thread: LLVM 2.6 released, quick try with paq8o8

  1. #1
    Member
    Join Date
    Feb 2009
    Location
    USA
    Posts
    58
    Thanks
    0
    Thanked 0 Times in 0 Posts

    LLVM 2.6 released, quick try with paq8o8

    LLVM 2.6 has been released ( http://llvm.org) and it looks like it's producing even better code than 2.5. Here's a quick test with paq8o8 putting gcc 4.4.1 against LLVM 2.6 on the x86_64 architecture on my single core AMD Athlon 64 3000+.

    "llvm-g++ -O3 -DUNIX -DNOASM -s" and run with "paq8o8 -3 enwik8_1st1M": 31.56s
    "llvm-g++ -O2 -DUNIX -DNOASM -s" and run with "paq8o8 -3 enwik8_1st1M": 32.85s
    "g++ -O3 -DUNIX -DNOASM -s" and run with "paq8o8 -3 enwik8_1st1M": 32.75s
    "g++ -O2 -DUNIX -DNOASM -s" and run with "paq8o8 -3 enwik8_1st1M": 30.66s

    So, it looks like in this test case LLVM doesn't exhibit the strange O2 is faster than O3 behavior of gcc and LLVM is within a few percentage points of gcc performance-wise. If anyone else wants to post some benchmarks with other compressors or compiler options, go for it. You may have already heard that FreeBSD is looking to eventually replace gcc with the clang compiler (based off of LLVM).

  2. #2
    Member
    Join Date
    Jun 2008
    Location
    USA
    Posts
    111
    Thanks
    0
    Thanked 0 Times in 0 Posts
    Quote Originally Posted by Hahobas View Post
    LLVM 2.6 has been released ( http://llvm.org) and it looks like it's producing even better code than 2.5. Here's a quick test with paq8o8 putting gcc 4.4.1 against LLVM 2.6 on the x86_64 architecture on my single core AMD Athlon 64 3000+.

    "llvm-g++ -O3 -DUNIX -DNOASM -s" and run with "paq8o8 -3 enwik8_1st1M": 31.56s
    "llvm-g++ -O2 -DUNIX -DNOASM -s" and run with "paq8o8 -3 enwik8_1st1M": 32.85s
    "g++ -O3 -DUNIX -DNOASM -s" and run with "paq8o8 -3 enwik8_1st1M": 32.75s
    "g++ -O2 -DUNIX -DNOASM -s" and run with "paq8o8 -3 enwik8_1st1M": 30.66s

    So, it looks like in this test case LLVM doesn't exhibit the strange O2 is faster than O3 behavior of gcc and LLVM is within a few percentage points of gcc performance-wise. If anyone else wants to post some benchmarks with other compressors or compiler options, go for it. You may have already heard that FreeBSD is looking to eventually replace gcc with the clang compiler (based off of LLVM).
    FreeBSD already unofficially can compile its kernel with Clang. I think they recently imported it into their CVS, but they haven't switched full-time yet ("make world" has issues??).

    Actually, to be fair, what you're testing is LLVM and G++ combined! LLVM doesn't have any decent C++ frontend support yet ("another year or two" or ten needed, heh). It's still using G++ as the frontend, just a different backend. Besides the obvious license difference (BSD vs GPL), I think LLVM is much faster at compiling. So that speed diff as well as resulting code size would be a more apt comparison here. (Last LLVM-G++ I tried with PAQ8 seemed to work mostly well but was slightly buggy too.)

    -O2 is almost always used with GCC by default. Only rarely does -O3 beat it, and recent GCCs (e.g. 4.4.x) seem to reverse the trend even more. What I find annoying is that -O1 for me takes almost as long to compile as -O2 yet -O0 is at least twice as fast to compile as -O1 (with -O1 and -O2 being not as remarkably different in output speed either).

Similar Threads

  1. exe prefilter quick comparison
    By evg in forum Data Compression
    Replies: 7
    Last Post: 23rd May 2009, 17:20
  2. Tamp Quick LZ compression
    By Sportman in forum Data Compression
    Replies: 2
    Last Post: 28th September 2008, 01:20
  3. Strange gcc4.3 results with paq8o8
    By Hahobas in forum Forum Archive
    Replies: 8
    Last Post: 22nd March 2008, 20:44
  4. PAQ8o8 threading observations
    By CodeMutant in forum Forum Archive
    Replies: 15
    Last Post: 18th February 2008, 11:02
  5. Paq8o8 - endless loop when BMPs are invalid
    By schnaader in forum Forum Archive
    Replies: 1
    Last Post: 20th December 2007, 13:57

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •