LINUX.ORG.RU

Перекомпиляция с целью оптимизации: миф или реальность?


0

0

Случилось мне как-то фильм в формате dvd-video перекодировать (друг попросил - у него привода для чтения dvd нет). Для этого дела я взял mencoder*i386. Прождал я так полчаса, и тут segmentation fault. Потом опять. Нашёл в сети версию поновее. Да ещё и скомпилированную под мой проц - athlon. Но что меня сильно удивило - fps упали с ~65 до ~50. Сегфолов больше не было. Странно. Решил провести свой опыт - перекомпилировать xorg. Слил x11-xorg*src и собрал его так: rpmbuild --rebuild --target=athlon x11-xorg*rpm. Или что-то типа того. Результат - fps в glxgears упали c 3550 до 3500. Что-то здесь не то. Такого быть не должно. Вопрос: почему программы работают медленнее? Или так: что я делаю не так? И ещё, есть ли у кого доки на эту тему?

FC3(версии ядра,xorg родные)/Athlon 2Ghz/Мать на kt600/FX5700(6629) - если вдруг кому интересно.

anonymous

>Но что меня сильно удивило - fps упали с ~65 до ~50

Кодек ffmpeg разрабатывается в cvs mplayer и при появлении новых возможностей возможно падение производительности (хотя ни разу такого не видел). Зато можно с уверенностью сказать, что mencoder что-то не то делал, из-за чего поднялась скорость, а потом он завалился.

>Результат - fps в glxgears упали c 3550 до 3500

А там все время так - то поднимается число, то падает. Мутят что-то. Но 50 - некритично. Можно попробовать -mcpu=i686 -mtune=athlon -fomit-frame-pointer

Все еще от приложения зависит.

jackill ★★★★★
()

если из исходников с ключами -O3 -mcpu=i686 -mtune=athlon и др
то может, хотя многие программы типа glibc gcc могут перестать работать
а в случае mplayer если будеш пересобирать из исходников и укажешь свои ключи то он может даже медленнее работать, об этом написано в документации, т.к все кодеки оптимизированы вручную и оптимизация компилятора только ухудшает их производительность.




anonymous
()

Мне например недавно пришлось на домашней машине
пересобрать xorg, т.к. раньше стаявшой xfree больше нет в репозитории.

-O2 -march=athlon-xp -fomit-frame-pointer -mfpmath=sse -msse -mmmx -m3dnow

вот с такими флагами, после этого xorg по сравнению с xfree стал просто летать.

а насчет того приносит или не приносит оптимизация ускорение,
то во-первых надо читать man gcc и иметь представление о
архитектуре компьютера для которого собираешь,
это поможет выбрать оптимальные флаги,
а во-вторых сравнение некоректное, т.к. использовались разные версии
и непонятные флаги оптимизации, сборка именно под свой проц ничего недает, если например не указать что делаем -O2 и что-нибудь
типа этого: -mfpmath=sse -msse -mmmx -m3dnow

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

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

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