12
I have been doing an experiment to choose between MinGW and MSVC. I decided to use Adobe C++ Performance Benchmark to do it. While MSVC's output was exceptionally faster on some operations, it was as slow on some other operations. I will add other parts of the benchmark suite when I have time to do them.
I have removed some of the benchmarks that has same results due to character limit, you can interpret them by the pattern I assume.
System Information
- AMD Athlon(tm) 64 X2 Dual Core Processor 5200+ 2.70GHz
- 6GB DDR2 800MHz RAM
- Windows 8
Any idea why the result is slow? Also, can this test's result to interpret a computer game performance (CPU physics engine maybe) because especially floating point benchmarks are slower?
-
MinGW
g++ -march=native -O3 -ffast-math -fomit-frame-pointer -momit-leaf-frame-pointer -flto -fwhole-program -ftree-loop-distribution
simple_types_loop_invariant.exe
test description absolute operations ratio with
number time per second test0
0 "uint8_t variable add" 1.91 sec 836.38 M 1.00
1 "uint8_t variable add hoisted" 0.08 sec 19277.11 M 0.04
2 "uint8_t multiple variable adds" 1.93 sec 829.45 M 1.01
3 "uint8_t variable subtract" 1.92 sec 832.47 M 1.00
4 "uint8_t multiple variable subtracts" 2.57 sec 623.30 M 1.34
5 "uint8_t variable multiply" 1.93 sec 831.17 M 1.01
6 "uint8_t multiple variable multiplies" 2.56 sec 625.00 M 1.34
7 "uint8_t multiple variable multiplies2" 1.92 sec 834.64 M 1.00
8 "uint8_t variable divide" 10.83 sec 147.70 M 5.66
9 "uint8_t multiple variable divides" 42.14 sec 37.97 M 22.03
10