Willus.com Home   |   Archive

Willus.com's MinGW/Gnu C Tips

MinGW Tips
Overview
Benchmark
Starter Links
Compile Flags
Fast Math Funcs
DLLs
Globbing
Console
Binary Stdout
Predefined Macros
Show All Tips
 
  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


 
MinGW Links
MinGW Home
Users Mail Archive
MinGW Bug List
Gnu C Home

Willus.com Links
Willus.com Home
Win32 Compilers
Win32 Software
Compiler Benchmark

About willus.com This page last modified
Sunday, 31-Jan-2010 16:24:48 CST
News