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
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.