LINUX.ORG.RU

Оптимизация скорости запуска программ


0

0
Прекрасная статья на тему того какие шаги нужно предпринять, чтобы ускорить запуск программ в Линуксе. Однако, для того, чтобы испробовать их все с наименьшими затратами по времени, вам придётся стать пользователем дистрибутива Gentoo.

>>> Подробности

★★★★★

Проверено: Shaman007 ()
млин в дебе не заработает :(
TERRANZ ★★★★
()
грязный пеар (новость, не статья) :)
Napkin
()
И чего только красноглазики не придумают, лишь бы не пользоваться prelink'ом, как все белые люди (с еще большей эффективностью и отсутствием геморроя).
anonymous
()
> грязный пеар (новость, не статья) :)

> Napkin (*) (07.08.2006 15:28:16)

Я Gentoo не пользуюсь, просто там есть возможность несколькими телодвижениями скачать и автоматически применить все патчи и технологии, указанные в статье и пересобрать дистрибутив с новыми флагами компиляции. Как вы это сделаете за приемлемое время и с минимальными затратами, например, в Debian, Fedora Core или slackWare - ума не приложу.

Кстати, жаль что Drepper ни в какую не хочет -Bdirect втыкать в binutils и предлагает всегда использовать prelink'ing, хотя ему ясно сказали, что prelink'ing не имеет практически никакого положительного результата на OpenOffice'e и других больших C++ проектах.

birdie ★★★★★
() автор топика
prelinking, повторяю для тех, кто в танке:

1) не работает для библиотек, открываемых с помощью ld_open()

2) _значительно_ увеличивает фрагментацию файловой системы, сводя на нет свой положительный эффект (переходить на xfs я не хочу)

3) изменяет, увеличивая в размере, бинарники, а также портит их md5 суммы, что для меня, например, неприемлемо.

birdie ★★★★★
() автор топика
существенное замечание однако
W ★★★★★
()
Реальный выход - х8 процов и побольше памяти, и до следующей Зюзи можно спать спокойно. Всем остальным - 700-800МГц на проце и генту/слаку.
e
()
Ответ на: комментарий от birdie
> Я Gentoo не пользуюсь, просто там есть возможность несколькими телодвижениями скачать и автоматически применить все патчи и технологии, указанные в статье и пересобрать дистрибутив с новыми флагами компиляции. Как вы это сделаете за приемлемое время и с минимальными затратами, например, в Debian, Fedora Core или slackWare - ума не приложу.

Debian: apt-get build-dep <package> apt-get --build source <package> dpkg -i package-*.deb

Для остальных тоже есть приемлемые пути.

Napkin
()
> Прекрасная статья на тему того какие шаги нужно предпринять, чтобы ускорить запуск программ в Линуксе. Однако, для того, чтобы испробовать их все с наименьшими затратами по времени, вам придётся стать пользователем дистрибутива Gentoo.

Единственно для чего нужно "ускорить запуск программ", так это только для "ускоренного запуска программ", т.е. незачем.
MOByte
()
Ответ на: комментарий от Lumi
Debian с кучей самособранных пакетов всё-таки остаётся Debian'ом. Бардак - он в голове берётся, а не в системе сборки. Впрочем, некоторые красноглазые и в нормальных системах умудряются такой срач развести, что просто диву даёшься.
kastaneda
()
Ответ на: комментарий от Lumi
>>А сам-то пробовал, прежде чем это сказать?
Я когда буду на пенсии - делать неча будет, обязательно попробую.
sabonez ★☆☆☆
()
Ответ на: комментарий от Lumi
> Debian уже ничем не отличается от Gentoo

с разницой, что дебе

а) нет флагов следовательно хз как это все будет собираться (вероятно с опциями по максимуму)

б) глаза будут более красными если поднадобиться добавить несколько патчей/поменять опции ./configure

ну и под вопросом:

в дебе можно автоматом ренайсить сборку ?

можно ли запускать несколько параллельных процессов сборки ?

аналог sandbox есть ?

deb'ы c исходниками удаляются автоматически ?

> Ночные сборки, красные глаза...

как автоматизированный процесс сборки может повлиять на цвет глаз:) ? или в дебе есть такая фича ?

Syncro ★★★★★
()
Ответ на: комментарий от birdie
> Как вы это сделаете за приемлемое время и с минимальными затратами, например, в Debian, Fedora Core или slackWare - ума не приложу.

В Slackware это не так и сложно. На каждый пакет там лежит скрипт автоматической сборки *.slackBuild.

saper ★★★★★
()
Ответ на: комментарий от saper
слакбилды и портэжи это земля и небо прежде всего в удобстве для разработчика(нет аналогов eclass'ов) и я не нашел там зависимостей, чем они автоматизированно разрешаются ? поиск по репозиотрию слабилдов осуществялется grep'ом ?
Syncro ★★★★★
()
Ответ на: комментарий от saper
и где защита от того, что василий иванович pupkin не вставит в слакбилд rm -rf / (это я снова про зандбокс) или автоматизированно это все-таки как то решается ?
Syncro ★★★★★
()
Спасибо за статью. Очень наболевшая тема: уже и апгрейд сделал и с бубном танцевал, но все равно раздражет жутко.
Также очень хочется устышать секреты оптимизация скорости запуска от тех, у кого все летает.
BigBiker
()
Ответ на: комментарий от Syncro
IMHO sandbox от rm -rf / не особо поможет если под root'ом запускать...

Полностью автоматизированных решений я не знаю, лично я checkinstall + upgradepkg + небольщой скрипт использую.

McGray ★★
()
Ответ на: комментарий от anonymous
Насколько я понял, статья не о том, как бы заменить prelink, а о том, как ЕЩЕ можно оптимизировать.

Кстати, mozilla у меня на машине падает после prelink с bus error..

McGray ★★
()
Ответ на: комментарий от MOByte
>Единственно для чего нужно "ускорить запуск программ", так это только для "ускоренного запуска программ", т.е. незачем.

Это ускорит не только запуск программ, но и вообще все обращения к библиотекам. Так что смысл все же есть.

McGray ★★
()
Ответ на: комментарий от Syncro
> > Ночные сборки, красные глаза... > как автоматизированный процесс сборки может повлиять на цвет глаз:) ? или в дебе есть такая фича ?

В принципе... если не отвлекаться на комп и грамотно, не обращая внимания на посторонние вещи, каждую ночь укуриваться... то они будут таки красными :)

e
()
Куда люди торопятся... есть же девиз - "истинный русский долго запрягает, но быстро едет", зачем нарушать традиции? ;)
e
()
И всё же, любопытная статья.. ;-)
MiracleMan ★★★★★
()
Не всё собирается с такими LDFLAGS, также где-то читал будто у QT, напр., проблемы с Bdirect, hashvals и zdynsort (сам не пробовал собирать), для OOo вообще рекомендуют убрать LDFLAGS нафиг. Если так, то каким образом можно -uD world делать, как автоматизировать включение/выключение тех или иных switches в LDFLAGS для таких пакетов? Или в gentoo ебилды сами фильтруют всё это безобразие?
Или я генетически в чём-то не прав? =D
magesor ★☆
()
Ответ на: комментарий от magesor
В ООо все нормально, можно ставить практически любые флаги, если оптимизация не выше -О2, -Wl,-O1 тоже проходит без проблем.
e
()
Ответ на: комментарий от anonymous
Точно, спасибо! Вот только по форумам неоднократно встречал жалобы на отказ той или иной софтины собираться, скажем, с -Bdirect. Недочёты в portage?
magesor ★☆
()
Ответ на: комментарий от magesor
> А выше -O3 мудрый ёбилд отсеивает =) Как и -Os кстати. А что с -Bdirect?

Та мне до зеленой башни ебилды, свои скрипты есть. -О3 попросту не стоит выигрыша в скорости, т.к. код раздуется в размерах и станет вообще нестабильным. -Bdirect не пробовал, ибо сначала маны нужно почитать :)

Как-то на 2.0.3 экономить 2-3 секунды от 10 не вижу смысла...

e
()
Так бы почитал, но она на английском и тратить своё время на вдумчивое чтение не буду.. всё равно никаких оптимизаций я проводить не собираюсь.
php-coder ★★★★★
()
Ответ на: комментарий от sabonez
> Я когда буду на пенсии - делать неча будет, обязательно попробую.

Вот тогда и выскажешься по теме.

Lumi ★★★★★
()
Ответ на: комментарий от Napkin
>Debian: apt-get build-dep <package> apt-get --build source <package> dpkg -i package-*.deb

>Для остальных тоже есть приемлемые пути.

Это - конкурент портажу? Лол.

На самом деле единственный косяк генты - отсутствие зеркал бинарных пакетов - на домашней тачке, да и на сервере собирать с определёнными опциями и оптимизацией мне нужно ~30% софта, и абсолютно поровну, как будут собраны оставшиеся 70 - но приходиться тратить время и компилить-компилить... Тут бы выручил Arch, да репозитории маловаты.. Эхх, нет в мире совершенста :)

Ах да, статья хорошая.

fly-away
()
Хорошая наверное статья, токо на английском... переводить в паааадлу....
anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.