При параметре CONFIG_HZ больше 1000 производительность компьютера сильно проваливается. И это действительно заметно невооруженным глазом. Компьютер “ватным” становится.
Для тестирования взят пакет nbench. Он тестирует производительность одного из двух ядер процессора Atom N270. Хочу сразу предупредить параметры действительно экстремальные, есть вероятность, что какой-нибудь из пакетов соберется неправильно. Видимых ошибок не будет, но система может получится очень нестабильной. Повторять убедительно не рекомендую - только на свой риск и страх.
nbench скомпилирован со стандартными параметрами:
CFLAGS="-O2 -march=i686 -pipe"
CXXFLAGS="${CFLAGS}"
*стандартное ядро Calculate Linux 2.6.38.8
В таблицу для сравнения даже вносить результаты не стал. Параметр слишком рискованный.
P.S.
Все описанное здесь действо было скомпилировано с помощью gcc-4.4.5. Тестировалось nbench-2.2.3-r1.
Запустил сборку gcc. Первый раз скомпилирует с этими параметрами стандартный gcc и сформирует установочный пакет, второй раз повторит эту операцию оптимизированный уже таким образом компилятор gcc. На выходе будут получены два установочных архива gcc. Какие файлы лучше сравнить внутри архивов на расхождения?
P.S.
Сравнил эти:
Почему не перейдешь на 4.5.2. Довольно стабилен. Таких конечно жестких опций не давал, но вся система собрана с -О3. За тесты Спасибо, очень интересно.
Не знаю. Наверно уже привык доверять разработчикам Calculate. Одно знаю точно переходить на 4.6 и выше смысла нет. Программы прилично медленнее начинают работать с арифметикой. “-O3 -march=native -pipe” у меня такие параметры Калька держала тоже очень неплохо. Могу с уверенностью сказать, что с ними можно компилировать без проблем на Atom N270.
Самое странное, что заметил есть разница в выводе консолей, а результат один в один… Файлы прикладываю архивом.
P.S.
Пришлось переписать пост - вместо одного архива изначально два одинаковых получилось. А как удалить лишний прикрепленный файл, не переписав пост, не знаю. Различия оказались обусловлены работой ccache. И gcc не обратил никакого внимания на опции оптимизации в make.conf. Компилировался с параметрами -O2 -march=native. Возможно придется повторить сборку (emerge -bN gcc).
А ни кто и не говорил за 4.6. Разработчикам Calculate я тоже доверяю, вот только сомневаюсь что они вообще заморачивались на счет компилятора. Используют стабильное из дерева.
Нашел почему не переходят на gcc-4.5.2
“On x86 targets, code containing floating-point calculations may run significantly slower when compiled with GCC 4.5 in strict C99 conformance mode than they did with earlier GCC versions. This is due to stricter standard conformance of the compiler and can be avoided by using the option -fexcess-precision=fast”
Почти дословно:
_На x86 машинах, код, содержащий вычислений с плавающей точкой может работать значительно медленнее, так как компиляция на GCC 4.5 происходит в более строгом соответствии со спецификацией C99, чем это было с предыдущими версиями GCC. Это связано со строгим стандартом соответствия компилятора, но его можно избежать, используя опцию -fexcess-precision=fast
_ Ссылка - текст взят с релиза 4.5.2
P.S.
Полет на системе с экспериментальными параметрами пока нормальный;) Производительность очень радует.