Представлены результаты оценки производительности компиляторов 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 оказалась примерно на одном уровне (ICC - тестовая программа выполнилась за 10.98 сек., GCC - 10.51 сек). Параллельное приложение, написанное с использованием Cilk Plus, было выполнено при компиляции в ICC за 9.98 сек., GCC - 11.28 сек., Clang - 10.96 сек.
|