Сравнение производительности C++ компиляторов GCC, Clang и ICC

Представлены результаты оценки производительности компиляторов Intel C++, GNU C++ (g++) и LLVM Clang. Экспериментаторы постарались подобрать реалистичные сценарии тестирования с использованием средств распараллеливания выполнения на многоядерных системах. Лидером по скорости процесса сборки стал Clang (в режиме полной оптимизации ICC — 6.074 сек, GCC — 2.974 сек, Clang 1.752 сек). Размер бинарного файла оказался минимален у GCC и Clang (по 8329 байт, в ICC — 20331 байт). При оценке средств для параллельного программирования, тестированию Clang мешало неготовность поддержки Cilk Plus и Threading Building Blocks. Производительность параллельного приложения, использующего Threading Building Blocks, для ICC и GCC оказалась примерно на одном уровне 10.983 сек. и 10.510 сек. Параллельное приложение, написанное с использованием Cilk Plus, было выполнено при компиляции в ICC за 0:09.98, GCC — 0:11.28, Clang — 0:10.96.

Полный текст статьи читайте на OpenNet