Skip to content

Latest commit

 

History

History
36 lines (30 loc) · 1.08 KB

File metadata and controls

36 lines (30 loc) · 1.08 KB

Benchmark and assembly analysis gcc/llvm architecture specific optimization

Here I'm testing the differences between gcc/llvm with various optimization flags. Both performance and assembly are analyzed.

  • To build ./build.sh
  • To run ./run.sh
  • To generate the asm ./generate.sh

The following combinations are tested:

  • GCC
  • GCC -O2
  • GCC -O2 -march=native
  • CLANG
  • CLANG -O2
  • CLANG -O2 -march=native

Test configurations

CPU: Intel(R) Core(TM) i7-7567U CPU @ 3.50GHz.
OS: Ubuntu 16-04 kernel 4.18.3 custom compiled.
main: dummy pi calculator.
gcc (Ubuntu 8.1.0-5ubuntu1~16.04) 8.1.0
clang version 7.0.0 (trunk 338359) (llvm/trunk 338357)

Results

iterations 1000000000 value 3.14159

  • clang time 5.70509s
  • gcc time 9.15563s
  • clang -O2 time 6.0618s
  • gcc -O2 time 5.17978s
  • clang -march=native -O2 time 1.39697s
  • gcc -march=native -O2 time 9.14826s

References