Маленький эксперимент с GCC 4.1.1
Dorlas 18 октября, 2006 - 19:35
Недавно решил проделать такой эксперимент.
Система Gentoo 2006.1, установлена начисто с использованием мини-iso + stage3-i686 + portage-lastest :)
Установил систему с флагами -Os -pipe -march=pentium-m
Собрал ядро под железо (только то, что есть - остальное отключил). Все вкомпилировано в ядро.
Эксперимент: Пересобрал родной gcc с указанными выше флагами. Потом этим gcc перекомпилировал ядро (ни на байт не изменив .config ядра).
Скорость загрузки старого и нового ядра отличаются разительно - видно плохо вооруженным взглядом. И это при том, оба ядра собирались с одинаковыми опциями и настройками - все отличие в gcc...
Вопрос - это нормально? И если да, то объясните, почему? (плиз) Очень любопытно :)
»
- Для комментирования войдите или зарегистрируйтесь
Я в какую
Я в какую сторону отличается скорость загрузки?
В сторону
В сторону усконения - на мой взгляд само ядро грузится примерно на 60% быстрее - по крайней мере визуально.
могу
могу предположить, что всякого рода оптимизации увеличивают размер кода, а соответственно и время загрузки в память. возможно, эти я является причиной ускорения загрузки. не плохо было бы еще как-нибудь сравнить скорость работы ядра уже в загруженном сотоянии.
заметки о вреде сверхоптимизации и ее обратном эффекте я встречал и на gentoo.org / gentoo-wiki.com
имхо -Os это
имхо -Os это вообще не оптимизация по скорости. это оптимизация по размеру.. попробуй уж тогда -O3
_________________
Gentoo x86_64 2.6.17-r4 на Athlon 64 3000+
у меня винт медленный
В ноуте жутко медленный HDD - если бинарники будут маленькими, быстрее будет грузиться программы. Сейчас скоростью работы доволен.
А gcc-4.1.1
А gcc-4.1.1 собирался самим собой, т.е. gcc-4.1.1?
И я так понимаю реально повлиял на результат именно флаг -Os ?
Хм
Ставил систему со stage3-i686. Пересобирал gcc-4.1.1 самим собой :) Кстати, размер ядра не изменился, но после пересборки ядра пересобранных gcc :) ядро перестало ждать по нескольку секунд в паре мест (при определении ATA-устройств и еще при каком-то) моменте - отсюда увеличение скорости загрузки.
Кстати, насколько я понимаю, часть программ не поддерживает -Os и собирается вместо этого с -O2 ?