Linux для всех / Использование альтернативных компиляторов в Gentoo на примере Intel Compiler Suite

В этой статья я хочу рассказать, как в Gentoo и других portage-based дистрибутивах для сборки пакетов исползовать отличный от gcc компилятор.

Выбор альтернативных компиляторов обширен: Intel Compiler Suite, Sun Studio Express Compilers, TenDRA C/C++ Compiler, Tiny C Compiler и прочие легковесные компиляторы.

Я рассмотрю переход на самый популярный (AFAIK) из альтернативных компиляторов — icc.

Вы можете спросить: а зачем это вообще надо? Дело в том, что icc оптимизирует код для исполнения на интеловских процессорах лучше, чем gcc.

Сравните сами:

тестируемая программа bunzip2 linux-2.6.32.tar.bz2 bzip2 linux-2.6.32.tar oggenc -q5 testfile.wav lame -V4 testfile.wav
среднее время выполнения (gcc) 22.118 91.452 108.554 98.438
среднее время выполнения (icc) 20.373 68.284 88.581 84.626
прирост скорости 8.5% 33.9% 22.5% 16.3%



Согласитесь, весьма неплохие результаты.

Конфигурация компьютера, на котором производилась проверка: Intel Core 2 Duo T7250 @ 2.00 GHz; linux 2.6.31-gentoo-r7 x86; gcc-4.4.2; icc-11.1.056; все тесты выполнялись в tmpfs — разделе, дабы не грешить на скорость i/o.


AD: