Intel Compiler lahmer als GCC



  • Ich dachte immer, der Intel Compiler hätte so einen guten Ruf weil er angeblich so schnellen und effizienten Code erzeugen würde.

    Dieser Benchmark sagt aber ganz anderes aus:

    http://botan.randombit.net/news/benchmarks/1_7_18.html



  • traue keinem compilerbenchmark, das du nicht selber gefälscht hast.


  • Mod

    Und jetzt könnte ich dir den Benchmark zeigen den ich vor zwei Wochen für mich gemacht habe, wo der Intel Compiler 4% schneller war als der gcc. Und dann zeige ich den gleichen Benchmark wo ich etwas aggressivere Optimierungsoptionen für den Intel gewählt habe und anschließend war er 8 % langsamer als der gcc. Und dann den Benchmark wo ich lange an den Optimierungsoptionen gefeilt habe und der Intel dann wieder 12 % schneller war als der gcc.

    Sollte man immer für sich selber sehen, was besser ist.



  • Der ICC hat im Vergleich zum GCC wohl einen deutlich besseren Vektorisierer, wenn er den voll ausspielen kann, dann erzeugt er auch den schnelleren Code. Aber bei anderen Optimierungen ist der GCC auch ziemlich gut und zum Teil besser als andere Compiler (zB beim erkennen und auflösen von Tailrecursion).

    Es hängt halt immer vom konkreten Code ab, welcher Compiler besser optimiert.



  • wie man schoen sehen kann, ist kein compiler wirklich dominant, von daher sollte man, wenn man die letzten 5% leistung will, am ende des projektes das beste binary raussuchen.



  • Naja:

    Botan is included in benchmarks that are at least sometimes used by GCC developers such as OpenBench and SuSE's c++bench. So it is not too surprising that GCC's optimizer would tend to favor Botan (and since I use GCC as my main development compiler when working on Botan, of course Botan's sources tend to be tuned to make GCC's optimizer happy).


Anmelden zum Antworten