prelink и preload
Prelink позволяет уменьшить время загрузки приложений, связанных с множеством динамических библиотек, путем оптимизации на уровне структуры ELF файла.
Чтобы разобраться, что происходит при прелинкинге, нужно вспомнить о том, что подавляющее большинство Linux-приложений не содержит в себе весь необходимый для их работы код, а использует т.н. разделяемые библиотеки. И обычно программы при сборке связываются с такими библиотеками динамически, то есть необходимые функции вызываются из них в ходе загрузки программы. В одних случаях это происходит быстро, в других - раздражающе медленно. Печальным примером последнего является KDE - в частности, из-за громоздкости и сложности опорной библиотеки Qt, написанной на Си++. И бороться с этим перекомпиляцией и оптимизацией почти бесполезно - выигрыш в скорости не превышает нескольких процентов.
Однако операция динамического связывания программы с опорными библиотеками всегда происходит одинаково. И потому возникает предположение - а нельзя ли выполнить его раз и навсегда? Можно, и именно в этом - в сохранении библиотечных связей в исполняемом файле программы, - и заключается прелинкинг (его не следует смешивать со статической сборкой программ).
Я просто запускаю prelink -amfR (--all --conserve-memory --force --random) после каждого emerge -uavDN world.
Preload позволяет уменьшить время загрузки приложений не дожидаясь непосредственного запуска программы (эффективно для повторных запусков), за счёт загрузки в память наиболее интенсивно используемых данных. Является демоном, так что после установки добавьте его в автозагрузку.
Еще нет отзывов
Идет загрузка формы...