Difference between revisions of "User:Le Forgeron/vault/Compilation"

From POV-Wiki
Jump to navigation Jump to search
(Created page with "Tested on Ubuntu 13.04, 64 bits system (x86_64) My preference is to not be bothered with io-restrictions, but your mileage may vary. == gcc (Gnu) == * version 4.7.3 # ./con...")
 
Line 59: Line 59:
 
   Compiler version:    icpc 13.0.1
 
   Compiler version:    icpc 13.0.1
 
   Compiler flags:      -pipe -Wno-multichar -Wno-write-strings -s -O3 -ip -xHost -pthread
 
   Compiler flags:      -pipe -Wno-multichar -Wno-write-strings -s -O3 -ip -xHost -pthread
 +
 +
 +
== Which one to choose ==
 +
 +
Remember that your mileage might vary.
 +
 +
Personal conclusions:
 +
# Icc is best.
 +
# Clang is better than Gcc as long as no HT core are available.
 +
# Gcc is better than Clang when HT cores are available.
 +
# an HT core is worth only 0.2 to 0.25 a real core.
 +
 +
X-axis: number of thread (-WT option of povray)
 +
Y-axis: relative performance (the higher the better)
 +
 +
[[File:LeForgeron_i7_980_povperf.png]]

Revision as of 12:56, 22 September 2013

Tested on Ubuntu 13.04, 64 bits system (x86_64)

My preference is to not be bothered with io-restrictions, but your mileage may vary.

gcc (Gnu)

  • version 4.7.3
  1. ./configure COMPILED_BY="Jérôme Grimbert <[email protected]>" --disable-io-restrictions
  I/O restrictions:          disabled
  X Window display:          enabled (using SDL)
  Supported image formats:   gif tga iff ppm pgm hdr png jpeg tiff openexr
  Unsupported image formats: -

Compilation settings:
  Build architecture:  x86_64-unknown-linux-gnu
  Built/Optimized for: x86_64-unknown-linux-gnu (using -march=native)
  Compiler vendor:     gnu
  Compiler version:    g++ 4.7
  Compiler flags:      -pipe -Wno-multichar -Wno-write-strings -fno-enforce-eh-specs -s -O3 -ffast-math -march=native -pthread



clang (LLVM)

  • version 3.2-1
  1. ./configure COMPILED_BY="Jérôme Grimbert <[email protected]>" --disable-io-restrictions CXX=clang++ CC=clang
  I/O restrictions:          disabled
  X Window display:          enabled (using SDL)
  Supported image formats:   gif tga iff ppm pgm hdr png jpeg tiff openexr
  Unsupported image formats: -

Compilation settings:
  Build architecture:  x86_64-unknown-linux-gnu
  Built/Optimized for: x86_64-unknown-linux-gnu (using -march=native)
  Compiler vendor:     gnu
  Compiler version:    clang++ 4.2.1
  Compiler flags:      -pipe -Wno-multichar -Wno-write-strings -O3 -ffast-math -march=native -pthread


icc (Intel)

  • version 13.0.1
  1. ./configure COMPILED_BY="Jérôme Grimbert <[email protected]>" --disable-io-restrictions CXX=icpc CC=icc CPPFLAGS=-I/usr/include/x86_64-linux-gnu/c++/4.7


  I/O restrictions:          disabled
  X Window display:          enabled (using SDL)
  Supported image formats:   gif tga iff ppm pgm hdr png jpeg tiff openexr
  Unsupported image formats: -

Compilation settings:
  Build architecture:  x86_64-unknown-linux-gnu
  Built/Optimized for: x86_64-unknown-linux-gnu (using -xHost)
  Compiler vendor:     intel
  Compiler version:    icpc 13.0.1
  Compiler flags:      -pipe -Wno-multichar -Wno-write-strings -s -O3 -ip -xHost -pthread


Which one to choose

Remember that your mileage might vary.

Personal conclusions:

  1. Icc is best.
  2. Clang is better than Gcc as long as no HT core are available.
  3. Gcc is better than Clang when HT cores are available.
  4. an HT core is worth only 0.2 to 0.25 a real core.

X-axis: number of thread (-WT option of povray) Y-axis: relative performance (the higher the better)

LeForgeron i7 980 povperf.png