LINUX.ORG.RU

Чудеса оптимизации


0

0

Распаковать тарболл (tgz), сконфигурировать собрать и установить -- все это тривиальные задачи для линуксоида. Но только не для пользователей Debian. Чтобы сделать установку программ соответствующим генеральной линии и идеологии дистрибутива способом, нужно либо обладать тайным знанием, либо воспользоваться apt-build.
В статье подробно описан второй способ. Показано что оптимизация некоторых пакетов под конкретную машину может давать до 260% прирост производительности по сравнению с бинарными пакетами из стабильной ветки Debian.

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

★★★

Проверено: Demetrio ()

Что-то я не нашел про прирост производительности в 260 %. Где это? Ткните носом.

parser ★★
()

гентушники, ау!

anonymous
()
Ответ на: комментарий от linux_guru

>а почему тогда не использовать Gentoo?

Дык по-моему в середине прошлого года проскакивали новости про то как коробочные бинари из FC или Зюзи (точно уже не вспомню) рвали свежесобранные гентушные пакеты как бобик грелку ;))

Может все дело в вeрсии gcc ? ;) То что 3.2 генерил код в среднем на 15% более медленный чем 3.3 это медицинский факт ...

sS ★★★★★
()

А почему бы не стараться в новости самовыразиться (это можно попробовать сделать в заголовке), а просто дать информацию. Ну ведь из твоего текста нихрена ничего не понятно, а ведь сама инфа очень даже интересная!

macavity
()
Ответ на: комментарий от anonymous

> Интересно, а чем RH хуже со своим rpmbuild?

Уровень разный. В rpmbuld все нужно делать ручонками, а apt-build - неплохая автоматизация. man apt-build короче.

anonymous
()
Ответ на: комментарий от sS

сравнение было мягко говоря некоректное.

и, если говорить о десктопе, то плюс в Gentoo для меня
не в скорости, а в гибкости, в перемене зависимостей пакета,
если задавать разные USE флаги. Чего не могут дать Debian based ни
rpm based дистрибутивы.

linux_guru
()

libo PLIUNUT" na etot DEBIAN i zaniatsia kakim nid drugim poleznym delom

anonymous
()

Похоже, это провокация гентушников против debian... :)

yozhhh ★★★
()

> Показано что оптимизация некоторых пакетов под конкретную машину может давать до 260% прирост производительности по сравнению с бинарными пакетами из стабильной ветки Debian

Аж сам поверил?

yozhhh ★★★
()
Ответ на: комментарий от yozhhh

да, 260% это круто. Поставил как-то покрутить генту на отдельный раздел -- ну совсем не заметил никакого прироста. Кроме того, что base gentoo грузится дольше, чем мой debian с пятеркой дополнительных сервисов.

mrdeath ★★★★★
()
Ответ на: комментарий от mrdeath

>не поверишь, мне эта гибость в 95% всех пакетов нахрен не впала. >остальные 5% я пересобираю из deb-src

я за вас очень рад.

linux_guru
()
Ответ на: комментарий от mrdeath

>мне эта гибость в 95% всех пакетов нахрен не впала

насчет 5%,
два примера из жизни
жил был я на koi8-r, а потом мне вдруг приспичило
на utf-8 перейти в Gentoo я сделал USE="unicode" emerge --newuse world

а как в Debian?

или я переходил на 2.6 и соотвественно на nptl.

я сделал
USE="nptl"
emege -a glibc
emerge --newuse world

а как в Debian?

или вот ставлю я программу допустим sim
в USE у меня указано -kde. и она без проблемм собирается
и kde не тащит, и так еще несколько,
пересобирать каждую ручками если разработчик дистрибутива
посчитал что все они доллжны быть собраны с поддержкой KDE,
т.к. KDE самый популярный DE?

anonymous
()
Ответ на: комментарий от anonymous

> жил был я на koi8-r, а потом мне вдруг приспичило на utf-8 перейти в Gentoo я сделал USE="unicode" emerge --newuse world

> а как в Debian?

А в Debian просто локаль добавляешь еще одну и все работает.

ivlad ★★★★★
()
Ответ на: комментарий от anonymous

> жил был я на koi8-r, а потом мне вдруг приспичило на utf-8 перейти в Gentoo я сделал USE="unicode" emerge --newuse world

sudo dpkg-reconfigure locales

JB ★★★★★
()
Ответ на: комментарий от anonymous

Re:

>za4em 3.4.x..... >....kohda est' Intel C++ 8

затем что ls -l /usr/src/linux/arch | wc -l 22

А icc соберет только для 3-х из них и то со скрипом и тормозами (кстати как там мои тесты icc vs gcc на плюсах ? Кто нибудь попробовал ?)

BTW: на досуге рекомендую ознакомится сколько icc жрет ресурсов при сборке по сравнению с gcc (при выкрученной на полную оптимизации)

sS ★★★★★
()

Наглая ложь. Прирост возможен только в случае отключения ненужных функций в том или ином софте. Более никакого прироста не будет. Не пудрите людям мозги.

Переезд на UTF - не показателен абсолютно. Наплачитесь вы со своей Гентой. Помяните мое слово.

anonymous
()

не 260% это конечно круто, но и бинарники вполне шустро бегают :)

А мне вот стало интересно, а что собранное apt-build'om ядро тоже будет на 260% быстрей работать? :))))

lxuser ★★
()
Ответ на: комментарий от anonymous

плачем от щастя, ой как плачем... и ничего другого не хоцца ни на серверах, ни на родном тазике.

anonymous
()
Ответ на: комментарий от lxuser

Писал прогу сетевую. После сборки с -O3 latency упал с 0,25ms до 0,18ms. Прога небольшая, даже не пойму что там можно было соптимайзить.

anonymous
()
Ответ на: комментарий от linux_guru

>а зачем нужен Debian?

Слова истинного гуру :)

man dpkg, а после сносим генту и ставим дебиан, во всяком случае, именно после прочтения мана по dpkg многие переходят на debian с других дистрибутивов.

defender
()
Ответ на: Re: от sS

Re:

Доброго времени суток. Курсак горит [не могу я уже с ним!!!] - пока руки не доходят. icc&&ifc отъедает памяти много [ я замечал ~900Mb как он юзал] с -ipo -ipo_obj и собирает ~ на порядок по времени дольше, нежели gcc. Но, сами понимаете что f90 и openmp в gcc нет. А OpenMP, к примеру, прикрутили в одной интересующей меня программе, и я могу без Linda на 2 проца запускать таск. 2anonymous (*) (13.01.2005 1:31:38) Домашнее задание собрать ядро [версия на Ваше усмотрение] icc. Если получиться, посчитать затраченное на это время и задуматься над тем, как можно было бы его использовать эффективнее и как его наверстать -) 2linux_guru на AMD шуршит и ничего. Best wishes,$echo.

anonymous
()

>Показано что оптимизация некоторых пакетов под конкретную машину может давать до 260% прирост производительности

Ох, неужто дэбиан настолько тормознутый? Честно говоря вспомнил сатью про ускорение винды, где было написано, что если при установке 2k/xp выбрать ядро без поддержки acpi то винда станет работать в два раза быстрее (-:

anonymous
()
Ответ на: комментарий от linux_guru

Ничто ничем не лучше (в целом, везде есть хорошее), это просто || пути развития, одной идеи, что должно привести к некому логическому завершению, а это может вылится в некий новый дистрибутив, включивший в себя все лучшее из ныне существующих.

ManJak ★★★★★
()
Ответ на: комментарий от KRoN73

>Вчера до 3.3.5 обновилось :)

My Desktop PC:

dotcoder@dotcoder ~ $ gcc-config -c
i686-pc-linux-gnu-3.4.3
dotcoder@dotcoder ~ $

dotcoder@dotcoder ~ $ grep ACCEPT /etc/make.conf
# would add '~x86' to ACCEPT_KEYWORDS to enable unstable/testing packages.
ACCEPT_KEYWORDS="~x86"
dotcoder@dotcoder ~ $

dotcoder@dotcoder ~ $ grep FLAGS /etc/make.conf
# For optimal performance, enable a CFLAGS setting appropriate for your CPU
CFLAGS="-march=athlon-xp -O3 -mfpmath=sse -fforce-addr -fomit-frame-pointer -funroll-loops -funroll-all-loops -fprefetch-loop-arrays -maccumulate-outgoing-args-pipe"
#CFLAGS="-O3 -mcpu=i686 -funroll-loops -pipe"
# If you set a CFLAGS above, then this line will set your default C++ flags to
# the same settings. If you don't set CFLAGS above, then comment this line out.
CXXFLAGS="${CFLAGS}"
dotcoder@dotcoder ~ $

dotcoder ★★★★★
()
Ответ на: комментарий от anonymous

А вот несчастный сижу на gcc3.2 и периодически собираю разный GNU софт, честно скажу, что -O3 с данной версией лучше даже не пробывать, половина программ, падают по не известным причинам. Кстати , отлаживать насколько я понимаю в основном дебагеры могут не оптимезенный код, или все таки могут и оптимизенный тоже? А опция -Wl,-O1 для линковщика насколько увеличивает производительность и как, в Gentoo где то нашел. С этой опцией у меня например в Evolution начисто не собирается или не устанавливается при установке одна динамическая либа, хотя процесс сборки и установки проходит без ошибок, пришлось опцию снести, так что -O2, -fpmatch=sse -mmmx -msse, максимум что я себе позволяю, так как код одновременно для athlon и intel собираю.

anonymous
()
Ответ на: комментарий от anonymous

>так как код одновременно для athlon и intel собираю.

$USE="по_до_что_точить" emerge --buildpkgonly че_собрать

А вообше man emerge помогает. Там этих опций как собак. Компилить все же придется каждый раз под новую платформу. Стоит ли овчинка выделки решает каждый за себя сам.

Временные затраты на сборку-пересборку никого не волнуют, ежели не пялитья тупо в скрин во время компиляции.Запустил и забыл - благо что текстовых консолей у линхов аж 6 default.

anonymous
()

вот такие дурацкие заявления и порождают в людях уверенность, что самостоятельное компилирование что-то даёт, кроме потери собственного времени.

--седайко стюмчик

anonymous
()
Ответ на: комментарий от anonymous

>или вот ставлю я программу допустим sim >в USE у меня указано -kde. и она без проблемм собирается >и kde не тащит, и так еще несколько, >пересобирать каждую ручками если разработчик дистрибутива >посчитал что все они доллжны быть собраны с поддержкой KDE, >т.к. KDE самый популярный DE?

да ну ?

я сделал так добавил в /etc/apt/sources.list

deb http://debian.thermoman.de sid sim

и затем скомандовал #apt-get install sim пользуюсь xfce4. debian sarge.

что я делаю не так?

j262 ★★
()
Ответ на: комментарий от anonymous

> Наплачитесь вы со своей Гентой. Помяните мое слово. Не наплачется у него Гента и 3.14здеж на лоре - основной вид деятельности

anonymous
()
Ответ на: комментарий от anonymous

а если у меня КДЕ то зачем мне эти пляски тупые с юсами? кроме того например в асп реально немного программ зависящих от кде. кончайте свистеть и говорите о том с чем работали

anonymous
()
Ответ на: комментарий от anonymous

hint: погрешности замера; проблемы с сетью; проблемы с днк

anonymous
()
Ответ на: комментарий от anonymous

не гундось. почитай текнотес к мплеер

anonymous
()

260% - откровенный пи$деж!!! Как автор измерял производительность до оптимизации и как после??? В статье ничего про это не сказано. Да и оптимизация чё-та слабенькая задана: только -О3 и тип процессора, а ведь ещё можно использовать расширенный набор инструкций mmx, sse и т.д. Прирост производительности в 2,5 простой перекомпиляцией пакетов не получишь, как минимум надо разогнать проц или проапгрейдить систему. Не так надо привлекать людей к Дебиану - мало кто поверит, а кто проверит - пошлют (уже послали) ваш Дебиан в ....

Бздуну(Bsd-un) и Demetro выговор с занесением в личность за отсебятину в эфире!!!

anonymous
()
Ответ на: комментарий от anonymous

>Наглая ложь. Прирост возможен только в случае отключения ненужных >функций в том или ином софте. Более никакого прироста не будет. Не >пудрите людям мозги. >Переезд на UTF - не показателен абсолютно. Наплачитесь вы со своей >Гентой. Помяните мое слово.

>anonymous (*) (13.01.2005 2:26:14) а про флаг оптимизации march - ты не слышал? Gentoo - рулит.. Ставил и FC1-2 и Mandrake9-10 и Suse 9 и Slackware вот перешел на Gentoo - разница ощутимая( комп один и тот же).. Все просто летает.

anonymous
()
Ответ на: комментарий от anonymous

насчёт 260% прироста скорости - это вполне реально например на каком-то из ядер p4 (названия уже не помню) некоторые команды (типа битового сдвига) работали раз 10 медленнее чем аналогичный реализованый сложением %) вот на таком говне действительно можно и не только 260% получить...

blind
()
Ответ на: комментарий от anonymous

$ gcc -v -Q -march=pentium4 -O2 test.c -o test

смотри вывод options enabled:
... -mmmx -msse -msse2 ...
т.е. если в процессоре поддерживаются эти инструкции, они будут использоваться при соответствующих флагах

гентушники тоже хороши: у половины в CFLAGS помимо процессора (который эти инструкции поддерживает) еще и все эти флаги засунуты

iliah
()
Ответ на: комментарий от anonymous

> я сделал USE="unicode" emerge --newuse world > а как в Debian?

> я сделал > USE="nptl" > emege -a glibc > emerge --newuse world

> а как в Debian?

А я как-то на даче сел гадить, а там туалетной бумаги нет. Ну я взял и лопухом подтерся. А как в Debian?

l0gin
()
Ответ на: комментарий от anonymous

>В статье, если ты её прочитаешь, вообще используется Pentium II Для него 260% - фантастика

ну почему... там есть же mmx
можно придумать как-нить код...
о! тестер на дырявость памяти например...
или какие-нить векторные вычисления для которых достаточно точности mmx.

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

blind
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.