|
|
| |
Benchmarks
FEB 2, 2010
I was able to benchmark some different versions of MinGW gcc with both 32-bit
and 64-bit executables, mostly under Windows 7 64-bit (freshly installed).
I ran a couple of benchmarks. Interestingly, for one benchmark, going from
gcc 3.X to gcc 4.X made a factor of two difference in the speed. For another,
it made almost no difference.
Other notes: both benchmarks are single threaded;
using the -march=native and
-mtune=native (I think -mtune=native is the default) didn't buy much over just
using -O3 -ffast-math; and 64-bit bought about a 15% - 25% improvement over 32-bit.
Benchmark #1, Crop and re-size 200 images
| Compiler/Flags |
Compiled on |
Exe Type |
Exe Run Time |
Run on |
| gcc 3.4.2 -O3 -ffast-math |
AMD 3200+ |
32-bit |
548 s |
Win XP/AMD 3200+ 2.0 GHz |
| gcc 3.4.2 -O3 -ffast-math |
AMD 3200+ |
32-bit |
451 s |
Win 7/Core i5 3.46 GHz |
| gcc 4.4.3 (no optimization) |
Core i5 |
64-bit |
420 s |
Win 7/Core i5 3.46 GHz |
| gcc 3.4.2 -O3 -ffast-math |
Core i5 |
32-bit |
254 s |
Win 7/Core i5 3.46 GHz |
| gcc 4.4.0 -O3 -ffast-math |
Core i5 |
32-bit |
115 s |
Win 7/Core i5 3.46 GHz |
| gcc 4.4.3 -O3 -ffast-math |
Core i5 |
64-bit |
90 s |
Win 7/Core i5 3.46 GHz |
| gcc 4.4.3 -O3 -ffast-math -march=native -mtune=native |
Core i5 |
64-bit |
90 s |
Win 7/Core i5 3.46 GHz |
Benchmark #2, Beam-Wave Interaction Simulator
| Compiler/Flags |
Compiled on |
Exe Type |
Exe Run Time |
Run on |
| gcc 3.2 -O3 -ffast-math |
AMD 3200+ |
32-bit |
79 s |
Win XP/AMD 3200+ 2.0 GHz |
| gcc 3.2 -O3 -ffast-math |
AMD 3200+ |
32-bit |
40 s |
Win 7/Core i5 3.7 GHz* |
| gcc 3.4.2 -O3 -ffast-math |
Core i5 |
32-bit |
28.9 s |
Win 7/Core i5 3.7 GHz* |
| gcc 4.4.0 -O3 -ffast-math |
Core i5 |
32-bit |
29.0 s |
Win 7/Core i5 3.7 GHz* |
| gcc 4.4.3 -O3 -ffast-math |
Core i5 |
64-bit |
25.8 s |
Win 7/Core i5 3.7 GHz* |
* - 3.7 GHz is clock speed in turbo boost mode.
Benchmark #3, Info-Zip's Zip 3.1/Unzip 6.0
All versions were run on a core-i5 670 with turbo-boost (Windows 7).
Run times were to zip and unzip (-t) 10.4 GB of mostly JPEG files.
| Compiler/Flags |
Compiled on |
Exe Type |
Zip Run Time |
Unzip Run Time |
| gcc 3.2 -O3 |
AMD 3200+ |
32-bit |
607 s |
110 s |
| gcc 3.4.2 -O3 |
Core i5 |
32-bit |
569 s |
111 s |
| gcc 4.4.0 -O3 |
Core i5 |
32-bit |
543 s |
109 s |
| gcc 4.4.3 -O3 |
Core i5 |
64-bit |
513 s |
110 s |
Benchmark #4, Info-Zip's Zip 3.1/Unzip 6.0 using bzip2 compression
All versions were run on a core-i5 670 with turbo-boost (Windows 7).
Run times were to zip (-Z bzip2) and unzip (-t) 2.3 GB of mostly JPEG files.
(Strange to note the large run time for gcc 4.4.0 32-bit.)
| Compiler/Flags |
Compiled on |
Exe Type |
Zip Run Time |
Unzip Run Time |
| gcc 3.2 -O3 |
AMD 3200+ |
32-bit |
448 s |
200 s |
| gcc 3.4.2 -O3 |
Core i5 |
32-bit |
486 s |
197 s |
| gcc 4.4.0 -O3 |
Core i5 |
32-bit |
711 s |
217 s |
| gcc 4.4.3 -O3 |
Core i5 |
64-bit |
389 s |
181 s |
|
|
|
|
|