Профессионалы
![топ 100 блогов](/media/images/default.jpg)
И вот тут в тредике человек жалуется, что ему не хватает 64 гигов для сборки сраного ведра. Ну, я прихуел малость, начал спрашивать детали. Я даже сразу не понял, что мне ответили. Оказывается они собирают ядро командой "make -j". Именно так - без параметров.
Для тех кто не понял. gcc - простой транслятор текстового файла в объектный код. Компиляция си - простейшая задача, проще только ассемблер. GCC запускается по принципу - один файл один процесс. Можно ускорить сборку, запустив несколько процессов одновременно. Транслятор запускается на одном ядре процессора и пока он не завершится, следующий процесс не стартанет и будет ожидать. Соответственно максимальная эффективность будет, когда количество запущенных процессов равно количеству ядер процессора, плюс один на кеширование.
За каким хером разработчики gcc оставили возможность запуска бесконечного количества процессов - я не знаю. Но чуваки делают именно это - загружают 14 тысяч процессов в оперативку, чтобы они ждали своей очереди. "Ну а че, быстрее же собирается, чем без параметров? Вот!". Почитать ман, естественно, никто не догадался.
Сука, и это кернел-разработчики. Люди, которые считаются суперпрофессионалами и одними из самых востребованных на сейчас с зарплатой, я думаю, в районе 500к.
|
</> |