| |
|
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 |
intel11 |
X |
X |
X |
64-bit |
79 |
1.29 |
65.5 |
1.02 |
gcc463 |
X |
X |
X |
64-bit |
122 |
1.11 |
64.7 |
1.01 |
gcc463 |
X |
X |
X |
32-bit |
124 |
1.02 |
79.7 |
1.24 |
intel11 |
X |
X |
|
64-bit |
75 |
1.27 |
65.8 |
1.02 |
gcc463 |
X |
X |
|
64-bit |
115 |
1.00 |
64.4 |
1.00 |
gcc463 |
X |
X |
|
32-bit |
115 |
0.91 |
75.1 |
1.17 |
gcc463 |
X |
|
X |
64-bit |
64 |
1.32 |
66.9 |
1.04 |
intel11 |
X |
|
X |
64-bit |
41 |
1.29 |
67.0 |
1.04 |
gcc463 |
X |
|
X |
32-bit |
65 |
1.25 |
77.3 |
1.20 |
gcc463 |
X |
|
|
64-bit |
61 |
1.25 |
66.5 |
1.03 |
intel11 |
X |
|
|
64-bit |
39 |
1.27 |
67.5 |
1.05 |
gcc463 |
X |
|
|
32-bit |
60 |
1.18 |
76.2 |
1.19 |
intel11 |
|
X |
|
64-bit |
71 |
1.14 |
64.8 |
1.01 |
gcc463 |
|
X |
|
64-bit |
61 |
1.01 |
64.3 |
1.00 |
gcc463 |
|
X |
|
32-bit |
59 |
0.92 |
74.9 |
1.16 |
intel11 |
|
|
|
64-bit |
52 |
1.26 |
67.5 |
1.05 |
gcc463 |
|
|
|
64-bit |
32 |
1.25 |
65.8 |
1.02 |
gcc463 |
|
|
|
32-bit |
31 |
1.18 |
76.1 |
1.18 |
gcc342 |
|
|
|
32-bit |
16 |
0.72 |
89.7 |
1.39 |
| |
|
<< Previous: TRANSCEND
|
Next: AVERAGE >>
|
|
|