Willus.com Home   |   Archive   |   About  

   CONTENTS

I. BACKGROUND
    1. Overview
    2. The Compilers
    3. Compiler Options
    4. The Programs
    5. Test Hardware
    6. Compiler Issues
    7. Other notes

II. RESULTS
    1. BW1D
    2. BZIP2
    3. CRAFTY
    4. K2PDFOPT (v1.30)
    5. LAME
    6. MESHER
    7. MODEL3D
    8. RESIZER
    9. TRANSCEND
    10. X264
    11. AVERAGE

III. SUMMARY

IV. COMMENTS

  
  
  
Willus.com's 2011 Win32/64 C Compiler Benchmarks:
II. RESULTS

10. X264
CODE: X264
LANGUAGE: C
LINES: 47,000
MEMORY FOOTPRINT: 40 MB
DESCRIPTION: The x264 H.264/MPEG-4 video encoder (snapshot 20120102-2245) from videolan.org. This was painful to compile in Windows. For one thing, it requires a C99-compliant compiler, so Tiny CC, Digital Mars, and Microsoft Express would not compile it. In addition, it has lots of hardware-specific conditionals. I set up the config file as best I could and had to comment out some non-important code to get Intel to compile it. I tried to make the comparison as fair as possible by compiling without in-line assembly allowed and without CPU detection options that are built into x264. The Intel 32-bit compiled executables would not run, and the -QxHOST flag also resulted in executables which would not run. The run times shown are for single-threaded operation, converting a 620 MiB, 2500-frame (12 fps) .y4m file to a H.264-encoded .flv file at 400 kbps (resultant output file is 10 MiB). All executables consistently ran twice as fast when I set the threads to 4 with the -threads 4 option (Windows threads enabled). For comparison, the latest version of 64-bit ffmpeg from zeranoe with hardware detection and in-line assembly enabled in the x264 module does the same conversion in 19 seconds--over 3X faster than the best result below!

Click on a column heading to sort the rows based on the data in that column.
Compiler IPO Profiler // .exe
type
Total Build
Time (s)
.exe size
(MiB)
Run
Time (s)
Normalized
Run Time
gcc463 X X   32-bit 115 0.91 75.1 1.17
gcc463 X X X 32-bit 124 1.02 79.7 1.24
gcc342       32-bit 16 0.72 89.7 1.39
gcc463       32-bit 31 1.18 76.1 1.18
gcc463   X   32-bit 59 0.92 74.9 1.16
gcc463 X     32-bit 60 1.18 76.2 1.19
gcc463 X   X 32-bit 65 1.25 77.3 1.20
gcc463 X X   64-bit 115 1.00 64.4 1.00
gcc463 X X X 64-bit 122 1.11 64.7 1.01
gcc463       64-bit 32 1.25 65.8 1.02
intel11 X     64-bit 39 1.27 67.5 1.05
intel11 X   X 64-bit 41 1.29 67.0 1.04
intel11       64-bit 52 1.26 67.5 1.05
gcc463   X   64-bit 61 1.01 64.3 1.00
gcc463 X     64-bit 61 1.25 66.5 1.03
gcc463 X   X 64-bit 64 1.32 66.9 1.04
intel11   X   64-bit 71 1.14 64.8 1.01
intel11 X X   64-bit 75 1.27 65.8 1.02
intel11 X X X 64-bit 79 1.29 65.5 1.02

      
  <<  Previous: TRANSCEND

Next: AVERAGE   >>

 
This page last modified
Sunday, 08-Feb-2015 18:58:10 MST