Компиляция vs бинарные пакеты

Алексей, все нормально. Чуть поясню… Вы, вероятно, не уловили смысла, а я, вероятно, впустую потратил много своего свободного времени на тесты) Дел у меня хватает, но компьютеры это моё хобби. Да и все тесты легко проверить. Я пользуюсь линуксом бесплатно и частично так могу вернуть “свой долг” этому обществу, в частности пользователям и разработчикам Calculate (любимый дистрибутив), т.е. результатами, которые я получил “играясь” с настройками.

Ну ладно, если по существу, то любая последующая компиляция, на мой взгляд, не скушает больше энергии, так как фактически задачи, запущенные параллельно с компиляцией, работают аналогично тем, что были бы установлены из готовых бинарников без конкретизированной оптимизации под процессор. Если обновлять систему каждые несколько дней, то обновляется совсем немного пакетов. Занимает это очень редко более 5 минут и обычно выполняется обновление перед сном, а потом и комп сам засыпает. Но это не обязательно. Параллельно компьютер может фунциклировать - показывает кино или выполняет другие задачи во время компиляции, причем не медленнее, чем в бинарных версиях дистрибутивов. Суть как раз в том, что энергии он начинает кушать меньше. Хоть пакеты из готовых бинарников, хоть оптимизированные - все кушают энергию примерно одинаково под нагрузкой. Но оптимизированные, у меня например, процентов на 30 справляются с задачами быстрее, а в промежутках процессор переходит в минимальный режим функционирования (опция ondemand). Не знаю как объяснить это еще проще. Я опирался на обычную математику, так как у меня нет ни специальных тестов, ни оборудования для замеров потребления энергии процессором.

P.S.
Согласитесь - намного приятнее, когда компьютер процентов на 30 шустрее реагирует на твои команды… И ведь это уже даже на глаз заметно. Но чтобы добиться такого необходимо протестировать очень приличное количество комбинаций и на разных компиляторах. Для процессоров atom я это осуществил и поделился ключами с результатами,подтверждающими их эффективность. Евгений Савченко также выкладывает очень хорошие варианты ключей оптимизаций для процессоров и делится своими неплохими идеями. За что ему отдельное спасибо.

Спасибо, звучит убедительно. Такой вопрос:

В make.conf и в мануалах к gcc упоминается “-march=native”. И говорится что “will produce code optimized for the local machine under the constraints of the selected instruction set”

Сравнивали Вы производительность с этим ключем?

А еще говорится "Using -march=native will enable all instruction subsets supported by the local machine ". Как узнать какие инструкции он задействует? Хотел бы начать с native а потом модифицировать те ключи которые native подставит.

И еще кстати, получается что оптимизация будет действовать до следущей версии gcc?

Каждую версию любого компилятора приходится тестировать на оптимальность. И разница есть приличная. Причем последняя версия не гарантирует Вам лучший результат. А тестировать придется перебором очень приличной комбинации ключей, а не только native.