gcc 4.4.x и -fprofile-** (-fprofile-dir реальная тема в новом компилляторе)

Господа, УРА!! Теперь в новой версии gcc опцией "-fprofile-dir" можно задавать путь для сбора статистики и последующего её использования, и это работает!!! :) Пробовал компиллировать libvorbis и vorbis-tools - ускорение ощутимое! :) На Atllon64 3000+ скорость кодирования из flac'а 19-20x получается, т.е. +10% к моей тотальной оптимизации без использования профилей :) И это без пересборки мира! :)

Проблемы начались при пересборки мира, portage упал :( но видимо не из-за профилей... до этого делал зачистку системы, возможно там накасячил... поставлю gentoo заново, там посмотрим...

Предлагаю в этой теме отписываться, у кого что получилось или наоборот закосячилось с использованием профилей.

Я. честно говоря, не очень

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

как заставить работать

как заставить работать профилирование на стабильной версии компилятора, где нет еще ключа -fprofile-dir? у меня для всех файлов на 2ом этапе компиляции вылетает предупреждение:
note: file unix_.gcda not found, execution counts estimated,

В gcc добавили метод меряться

В gcc добавили метод меряться оптимизацией, на сколько я понял? Специально для гентушников)))
Или это как-то влияет на скорость выполнения получившегося кода?

Поискал инфу, оказывается

Поискал инфу, оказывается следующее, gcc сначала компилирует "некй кусок" кода, потом запускает и смотрит, как он работает, и основываясь на этом еще раз компилирует...
Вообщем, надо будет поковыряться.... :)

Sprit написал(а):Поискал

Sprit написал(а):
Поискал инфу, оказывается следующее, gcc сначала компилирует "некй кусок" кода, потом запускает и смотрит, как он работает, и основываясь на этом еще раз компилирует...
Вообщем, надо будет поковыряться.... :)

Вобщем всё именно так и прирост производительности колоссальный :)
Здесь многое объясняется, просто раньше было проблеммно складывать эту статистику в нужном месте. Теперь же, начиная с gcc версии 4.4.0, появился флаг

-fprofile-dir=path
Set the directory to search the profile data files in to path. This option affects only the profile data generated by -fprofile-generate, -ftest-coverage, -fprofile-arcs and used by -fprofile-use and -fbranch-probabilities and its related options. By default, GCC will use the current directory as path thus the profile data file will appear in the same directory as the object file.

, который решает сразу множество проблем :)

В общем виде метод использования компилляции с обратной связью обстоит так:
1. Добавляем к исходным CFLAGS параметры -fprofile-dir=<дирректория для сбора статистики> и -fprofile-generate
2. Некоторое время используем программы, скомпиллированные с новыми флагами. Сброс статистики в дирректорию происходит на этапе выполнения исполняемого кода.
3. Добавляем к исходным CFLAGS параметры -fprofile-dir=<дирректория для сбора статистики> и -fprofile-use, сново компиллируем и наслаждаемся гиперскоростью исполнения бинарного кода на вашем процессоре ;)

а за счет чего такой

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

скрытный секс :)

http://www.insidepro.com/kk/2

http://www.insidepro.com/kk/231/231r.shtml здесь интересная инфа про профили и как они работают. Сам себя gcc должен профилировать... пока не знаю, надо попробовать в ближайшее время, но gcc при сборке себя фильтрует флаги, например -O3 меняет на -O2.

Хм... интересно :) А если

Хм... интересно :) А если компилить ядро в купе с модулями, потом какое-то время работать и снова компилить, то эффект тот же?

ОООоооуу, ядерная тема -

ОООоооуу, ядерная тема - вообще отдельный разговор, ведь во время исполнения программы сбрасывается статистика, а куда она будет сбрасываться, когда ещё ФС не примонтирована при загрузке ядра???... В инете много информации на тему оптимизации ядра (ссылки не подкину пока), и говорит она о том, что это дьявольски-шаманское занятие в том плане, что стабильно заставить оптимизированное ядро работать - дело нетривиальное,... а тут ещё профили гм... но попробовать конечно стоит :D

думаю, что не стоит пока

думаю, что не стоит пока особо набрасываться на gcc:4.4 и использовать только для конкретных приложений... собрал я gcc:4.4, установил его как основной и пересобрал мир - сутки потратил, чтобы привести систему к рабочему состоянию... помог только откат к gcc:4.3

Тоже верно... Попробую

Тоже верно...

Попробую сегодня в дебианчике поиграться с этой вишкой apt-build'ом... ведь на самом деле смысл всего несколько пакетов собрать... Qt например, KDE и кодеки...

У меня проблема сейчас

У меня проблема сейчас обратная, ессли выбирать gcc:4.3 многое уже не работает.
Хотя есть пакеты которые 4.4 пока не собирает.

- - -

Тема интересная - отмечусь тут что бы следить...
Заодно про gcc-4.4 скажу - я особых проблем не встретил - весь мир собран (1330 портежей), на трех машинах, с gcc-4.4 - все нормально работает.

.

Просьба указывать, какие именно пакеты не собрались gcc-4.4 или плохо себя вели после установки.
А то без указания как-то плохо верится.

Это подпись, которую невозможно истолковать неправильно

Expat не собирался

Expat у меня не собирался. Ошибку щас не могу привести, но что-то с ld связано. И Python-3.1.1 тоже.

В связи с этим вопрос. Во Фре есть возможность задать в /etc/make.conf разные опции, в том числе и опции компилятора, для конкретного порта, типа того:

.if ${.CURDIR} == ${PORTSDIR}/editors/vim-lite
    FETCH_CMD=/usr/local/bin/wget -v -t 3 -c
    NO_CHECKSUM=yes
.endif

Есть ли такая фича в Генту? В доках ничего похожего не нашел.

- - -

Присоединяюсь к вопросу.
Тоже во FreeBSD активно использовал эту возможность - задавал персональные GCC и CFLAGS для портов.

.

http://bugs.gentoo.org/show_bug.cgi?id=111458
http://bugs.gentoo.org/show_bug.cgi?id=60891
http://bugs.gentoo.org/show_bug.cgi?id=44796
c 2004 года все хотят

http://sergiosdj.wordpress.com/2008/06/24/how-to-personalize-a-packages-cflags-in-gentoo/
http://iquark.wordpress.com/2008/10/23/gentoo-per-package-flags/
см также http://forums.gentoo.org/viewtopic.php?t=280748

я, со своей стороны, искал, где это могло бы быть полезно (не абстрактно, а конкретные пакеты - конкретные флаги), и бросил; приведённый Poor Fred пример с особенным фетчем и отключением проверки не впечатляет.
http://www.gentoo.org/proj/en/qa/asneeded.xml читал.

Это подпись, которую невозможно истолковать неправильно

.

patamooshta написал(а):
приведённый Poor Fred пример с особенным фетчем и отключением проверки не впечатляет.

Да я и не для того писал, чтоб все охренели. А как образец, что во Фре это таки возможно. И в Генту тоже хочется, т.к. один на 5-10 пакетов с этими волшебными флагами не собирается.
А лазить каждый раз в make.conf утомительно. Вот тебе и практическая польза.

А вот это выглядит интересно. Надо попробовать.

.

Poor Fred написал(а):
А лазить каждый раз в make.conf утомительно.

Больше двух лет на gentoo - не то, что "каждый раз", а хоть раз бы.
Умоляю назвать конкретно пакет(ы) с флагами, и пояснение(!), чтобы гентушникам захотелось воскликнуть "ты смотри! вот это тема! хочу себе!", и захотелось прикрутить flags per package

Это подпись, которую невозможно истолковать неправильно

.

patamooshta написал(а):
Больше двух лет на gentoo - не то, что "каждый раз", а хоть раз бы.

Ты не читаешь что другие пишут?

Объясняю на пальцах.
Некоторые пакеты не собираются с флагами компилятора -fprofile-dir=<дирректория для сбора статистики> и -fprofile-generate. Приходится их (эти флаги) комментировать в /etc/make.conf, чтобы они (пакеты) собрались. Поэтому хотелось бы фичу, подобную /etc/portage/packages.use, чтобы некоторым пакетам можно было принудительно задать опции компилятора, с которыми их собирать.

В конце концов, если тебе эта фича неинтересна, то ты не всё человечество.

.

Во, теперь я во всё врубился :-)
Меня сообщение Theli (19 Август, 2009 - 10:48) переключило с главной темы

Это подпись, которую невозможно истолковать неправильно

Poor Fred написал(а): Поэтому

Poor Fred написал(а):
Поэтому хотелось бы фичу, подобную /etc/portage/packages.use, чтобы некоторым пакетам можно было принудительно задать опции компилятора, с которыми их собирать.

Всё уже есть и работает ;-) Делается так (на примере mplayer):
1. mkdir -pv /etc/portage/env/media-video/mplayer
2. echo "CFLAGS=\"-march=native -mtune=native -pipe -fomit-frame-pointer\"" >> /etc/portage/env/media-video/mplayer
(в общем, добавляете в этот файл все переменные окружения, которые необходимы для сборки mplayer)
3. emerge -av mplayer

Спасибо

Theli написал(а):
Всё уже есть и работает ;-) Делается так (на примере mplayer):

Ага, спасибо. patamooshta и Gogast тоже уже говорили про такую возможность.

Файефокс 3.5 -тупо не

Файерфокс 3.5 -тупо не запускается собранный 4.4 (правда это на x86 только).И проблема не индивидуальная,а у многих http://www.linux.org.ru/view-message.jsp?msgid=3969734

Пишу из лисы

Пишу из лисы =)

alexxy@thinkpad ~ $ uname -a
Linux thinkpad 2.6.30-tuxonice-r4 #2 PREEMPT Wed Aug 5 16:01:18 MSD 2009 i686 Intel(R) Pentium(R) M processor 1400MHz GenuineIntel GNU/Linux
alexxy@thinkpad ~ $ gcc -v
Используются внутренние спецификации.
Целевая архитектура: i686-pc-linux-gnu
Параметры конфигурации: /var/tmp/portage/sys-devel/gcc-4.4.1/work/gcc-4.4.1/configure --prefix=/usr --bindir=/usr/i686-pc-linux-gnu/gcc-bin/4.4.1 --includedir=/usr/lib/gcc/i686-pc-linux-gnu/4.4.1/include --datadir=/usr/share/gcc-data/i686-pc-linux-gnu/4.4.1 --mandir=/usr/share/gcc-data/i686-pc-linux-gnu/4.4.1/man --infodir=/usr/share/gcc-data/i686-pc-linux-gnu/4.4.1/info --with-gxx-include-dir=/usr/lib/gcc/i686-pc-linux-gnu/4.4.1/include/g++-v4 --host=i686-pc-linux-gnu --build=i686-pc-linux-gnu --disable-altivec --disable-fixed-point --with-ppl --with-cloog --enable-nls --without-included-gettext --with-system-zlib --disable-checking --disable-werror --enable-secureplt --disable-multilib --enable-libmudflap --disable-libssp --enable-libgomp --enable-cld --with-arch=i686 --enable-languages=c,c++,java,fortran --enable-shared --enable-threads=posix --enable-__cxa_atexit --enable-clocale=gnu --with-bugurl=http://bugs.gentoo.org/ --with-pkgversion='Gentoo 4.4.1 p1.0'
Модель многопоточности: posix
gcc версия 4.4.1 (Gentoo 4.4.1 p1.0)

и что же у меня не так что она работает =)
ЗЫ про каменты лоровцев вообще стоит забыть. Там ничего правдивого и умного не встречается

___________________________________________
Working on Gentoo for iPAQ hx4700 and Openmoko Neo Freerunner :-)
Если у вас компьютер с Windows, есть два выхода: выбросить компьютер в форточку или выбросить форточки с компьютера

Ну причём здесь "забыть

Ну причём здесь "забыть камменты лоровцев".Люди пишут потому что не работает, не так же просто.У меня не работает файерфокс, вот ещё обнаружил баги -некоторые компоненты Xfce запускаются только из терминала(!) почему-то.Вот как такое понимать?Назревает вопрос о корректности работы программ собранных этой версией GCC -то есть эти глюки,это то что видно сразу-а многое же может проявиться в самый неподходяший момент.Не, лично я пожалуй переключусь обратно и всё взад пересоберу -и system и world.Как-то не хочется сюрпризов ожидать.Да, можно на флаги грешить -но на 4.3 с теми же флагами всё нормально.

У меня вся система им собрана

У меня вся система им собрана =) И как то проблем не наблюдается =)

___________________________________________
Working on Gentoo for iPAQ hx4700 and Openmoko Neo Freerunner :-)
Если у вас компьютер с Windows, есть два выхода: выбросить компьютер в форточку или выбросить форточки с компьютера

аналогично система собрана

аналогично система собрана gcc-4.4.1. вся система работает ;)

Вот да, с XFCE такая же

Вот да, с XFCE такая же проблема, решил ее временным переходом на LXDE, подумываю на ней остаться, так как куда легче =)
а так - счас попробую пересобрать все заного, если XFCE заработает, значит просто какие-то хвосты от старого GCC остались...

:)

в системе собраной заного из

в системе собраной заного из stage-3 XFCE так же не работает =(, значит не судьба... жаль оверлэй xfce-dev сломался

:)

Вчера собрал firefox-3.5.2 с

Вчера собрал firefox-3.5.2 с gcc-4.4.
Вообще, им не пользуюсь, но для quakelive поставил :)

patamooshta

patamooshta написал(а):
Просьба указывать, какие именно пакеты не собрались gcc-4.4 или плохо себя вели после установки.
А то без указания как-то плохо верится.

всё хорошо и быстро собралось, но работать отказались:
1. hal напрочь отказался запускаться.
2. kdm просто отключал питание монитора, которое ни в какую не включалось обратно
3. mplayer стал сегфолтиться в самых нужных местах: особенно при выводе через spdif
4. ntpd тоже засегфолтился и стал запускаться через раз...

и это только то, с чем я воевал, а сколько осталось незамечено?! ))) если бы запустились иксы, думаю, что сюрпризов оказалось бы больше )))

- - -

1,2,3,4 - не подтверждаю. Не с чем там воевать. Все собрано с gcc-4.4.1 - никаких глюков зависаний и т.п.

Ога, это у мя тоже

Ога, это у мя тоже замечательно все работает

:)

Тут проблема не в

Тут проблема не в компиляторе, скорее, а в вашей ауре =). Ну или может во флагах оптимизации. Я вот использую графит и прочая - и ничего, работает все, разве что вайн иногда глючит жестко, его надо собирать с 4.3, да. Но это единственное.

Я недопонял

Ему нужна "статистика" по конретной программе, чтобы при её перекомпиляции был какой-то выйгрыш, или ему нужна статистика о конкретной системе?

Статистика о конкретной

Статистика о конкретной программе. При включении параметра "-fprofile-generate" у gcc, компилятор добавляет код в программу для генерации статистики, потом запущенная программа на этапе выполнения генерирует эту статистику и при завершении выливает её в дирректорию, указанную параметром "-fprofile-dir=". Потом при следующей компиляции с параметром "-fprofile-use" (ну и "-fprofile-dir=" соответственно) компилятор использует эту статистику для построения оптимизированного кода.

При обновлении

fireal написал(а):
генерирует эту статистику и при завершении выливает её в дирректорию, указанную параметром "-fprofile-dir=". Потом при следующей компиляции с параметром "-fprofile-use" (ну и "-fprofile-dir=" соответственно) компилятор использует эту статистику для построения оптимизированного кода.

При обновлении программы опять надо собирать статистику и перекомпилировать?

Да.

Да.

Лучше объясните мне как это с

Лучше объясните мне как это с портажем подружить. Раньше видел патч на emake, но может можно как-то без него обойтись?

Какой еще патч?

gorthauer написал(а):
Лучше объясните мне как это с портажем подружить. Раньше видел патч на emake, но может можно как-то без него обойтись?

Какой еще патч? Выше написано же про CFLAGS.

сейчас патч уже не нужен, все

сейчас патч уже не нужен, все есть portage

- - -

А можно ли (имеет ли смысл) использовать -fprofile* совместно с ccache?

на счет совместимости пока

на счет совместимости пока трудно сказать. но ccache перед использованием этой фичи надо почистить (ИМХО).

P.S.: Linux - это красная таблетка :-) Windows - синяя...

- - -

Как пересобрать firefox с созданием профиля? С полпинка что-то не вышло... Я правильно понимаю, что USE "custom-optimization" мешает?

А как его с cmake подружить?

А как его с cmake подружить?
update
тьфу ты это я опечатался

Ох, ну когда же я увижу бенчи

Ох, ну когда же я увижу бенчи :)

У всех как то все быстрее и быстрее , да вот цифр обычно нету.

П.С Речь не про расчетный софт, кодеки или субд, речь про Qt или ff :)

Compute:
Bosch M2.8.1 -> custom Bosch M2.8.3 clone from Russia.
Speed about 260 km,Ram 2 pers.,HDD - 70 kg,210 FLOPS ;)

Несмог им собрать Qt в

Несмог им собрать Qt в терминал вывалилось тонна сообщений вида

qscriptstring.o: In function `QScriptStringPrivate::QScriptStringPrivate()':                                                                                                        
qscriptstring.cpp:(.text+0x33): undefined reference to `__gcov_indirect_call_profiler'                                                                                              
qscriptstring.o: In function `QScriptStringPrivate::QScriptStringPrivate()':                                                                                                        
qscriptstring.cpp:(.text+0xa3): undefined reference to `__gcov_indirect_call_profiler'                                                                                              
qscriptstring.o: In function `QScriptStringPrivate::get(QScriptString const&)':                                                                                                     
qscriptstring.cpp:(.text+0x10f): undefined reference to `__gcov_indirect_call_profiler'                                                                                             
qscriptstring.o: In function `QScriptString::QScriptString()':                                                                                                                      
qscriptstring.cpp:(.text+0x165): undefined reference to `__gcov_indirect_call_profiler'                                                                                             
qscriptstring.o: In function `QScriptString::QScriptString()':                                                                                                                      
qscriptstring.cpp:(.text+0x1bf): undefined reference to `__gcov_indirect_call_profiler'                                                                                             
qscriptstring.o:qscriptstring.cpp:(.text+0x219): more undefined references to `__gcov_indirect_call_profiler' follow                                                                
qscriptstring.o: In function `global constructors keyed to 65535_0__ZN20QScriptStringPrivateC2Ev':                                                                                  
qscriptstring.cpp:(.text+0xb5d): undefined reference to `__gcov_init'                                                                                                               
qscriptstring.o:(.data+0x24): undefined reference to `__gcov_merge_add'                                                                                                             
collect2: выполнение ld завершилось с кодом возврата 1

А автор сам это дело

А автор сам это дело запускал?
а) там нужно делать линк на libgcov.a из gcc, как минимум. Т.е. надо менять LDFLAGS, а их не все учитывает (далеко не все). Сама профилизация все нехило тормозит
б) -fprofile-dir должен смотреть на all-writible папку, иначе матюгов несчесть будет при запуске, о ошибке доступа.
в) Если разные программы (вроде cp) запускаются разными пользователями - все равно будут матюги, ибо файлы создаются с владельцем первого запустившего. Избежать это можно только при помощи chmod g+s и назначении всем пользователям некой одной группы, которая будет владеть папкой. Ну и umask надо подправить на эту папку

Ну в папку проги исправно

Ну в папку проги исправно пишут свою профильную инфу... Но вот проблема, что не всё собирается. Например kdelibs, mysql ради которых я затеял весь этот пляс, радостно при -fprofile-use валятся на конфигурировании, qt даже не собирается. Чего делать незнаю

Пункт а) посмотри =).

Пункт а) посмотри =). Проблема в LDFLAGS. Если заставить все ебилды их юзать - проблема решится.

Ещё заметил проблему, что

Ещё заметил проблему, что профилирование отрицательно влияет на автотесты конфигураторов в итоге чексумма не совпадает

черт, в portage срочно

черт, в portage срочно необходимо добавлять фишки вида:
/etc/portage/package.cflags
/etc/portage/package.gcc-config
Надеюсь всем понятно что я имею в виду? или уже есть аналоги?

Просто после пересборки или обновления мира, все предыдущие настройки и параметры, задаваемые переменными, непосредственно перед ebuild едут лесом, а значит опять таки никакой автоматизации и ручками ручками....

cat

cat /etc/portage/env/dev-db/mysql
CFLAGS="-march=native -O3 -mno-3dnow -msse -msse2 -pipe -DPIC -fPIC"
CXXFLAGS="-march=native -O3 -mno-3dnow -msse -msse2 -pipe -DPIC -fPIC"
#и так далее

>> cat

>> cat /etc/portage/env/dev-db/mysql
Вот блин, полезно, где об этом написано O_o? man emerge нема.

На форуме несколько раз

На форуме несколько раз проскакивало, да и в этой теме давались ссылки на howto.

вот что предлагает гугль на

вот что предлагает гугль на эту тему - http://iquark.wordpress.com/2008/10/23/gentoo-per-package-flags/

хорошая штука для стабильных

хорошая штука для стабильных пакетов, которые редко обновляются

firefox помоему не нужно пересобирать, нужно пересобирать xulrunner

- - -

Кому-нибудь удалось профилировать хоть что-нибудь существенное firefox,xulrunner,qt,xorg-server,compiz? Пока кроме xterm и xlogo (для проверки что это вообще работает) больше ничего не удалось.
Firefox/xulrunner похоже просто игнорирует CFLAGS; compiz сделал профиль, но обругался на чексумы при комплияции с -fprofile-use.

попробуй вклюить флаг

попробуй вклюить флаг custom-optimization

Так как применять?

Так. Чего-то я немного не понял. Если я, например, собираю zlib, то потом при выполнении слинкованных с zlib программ выпадает ошибка(оно и понятно):

/lib/libz.so.1: undefined symbol: __gcov_merge_add

В make.conf:

CFLAGS="-O2 -march=native -mtune=native -pipe -fprofile-dir=/var/tmp/fprofile -fprofile-generate"

Как я понимаю, все скомпилированные программы нужно линковать с gcov. Так каким образом это сделать?
Заранее спасибо :)

как заставить работать

как заставить работать профилирование на стабильной версии компилятора, где нет еще ключа -fprofile-dir? у меня для всех файлов на 2ом этапе компиляции вылетает предупреждение:
note: file unix_.gcda not found, execution counts estimated,

сорри за дубль)

просто это видимо работает

просто это видимо работает только тогда. когда программа запущена из папки, в которой собрана, а portage эти каталоги удаляет...

Нет, если -fprofile-dir

Нет, если -fprofile-dir поставить вовне, то оно и так работает, но вообщем-то эта фича явно не для портажа.

Найди в gcc соответствующий

Найди в gcc соответствующий мануал и почитай, может поможет. Я решил свою проблему довольно легко:

man gcc
/gcov #Ищем gcov, смотрим, читаем

Далее в соотвествии с полученными знаниями изменяет /etc/make.conf:

CFLAGS="-O2 -march=native -mtune=native -pipe -fprofile-dir=/var/tmp/fprofile -fprofile-generate -fprofile-arcs -ftest-coverage"
LDFLAGS="-lgcov"

-fprofile-generate вроде

-fprofile-generate вроде включает -fprofile-arcs.

Так оно и есть(по крайней

Так оно и есть(по крайней мере в мануале написано). Это мои недоверие и подозрительность :)

Мда... Имхо топикстартер

Мда... Имхо топикстартер аццкий провокатор. Во народу щас себе систем поломает... Еще раз повторяю - для нормальной работы нужно указывать LDFLAGS, которые много пакетов игнорируют.

я компилирую первый раз с

я компилирую первый раз с -fprofile-generate в LDFLAGS и CFLAGS, запускаю потом скомпилированный файл(тестирую на анзипе)), в рабочем каталоге портажа для каждого объектного файла появляются .gcda профайлы, но когда запускаю 2 этап компиляции -fprofile-use то они исчезают... ставлю в фичах "noclean keeptemp keepwork", и все равно подчищаются, поскажите, пож, что делать...

ребята, ну подскажите, гугл ничего путного не находит, уже все возможные варианты перепробовал, не зря ж они в новой версии гсс ввели спец ключ для провилей)

man gcc и топик этой темы

man gcc и топик этой темы имеют большие шансы помочь. Если их прочитать ;)
-fprofile-generate в LDFLAGS делать нечего.

Да чего там. У умных есть

Да чего там. У умных есть бекапы, ну или на крайний случай собранные архивы. У глупых ничего нет. Глупым в gentoo и не место.

После недели с лишним юзания

После недели с лишним юзания Firefox (xulrunner) и Thunderbird со сбором статистики пересобрал их с использованием собранной статистики. Ничего не заметил. Запуск если и сократился на долю секунды, то это не заметно и не принципиально. В процессе работы... Ну а что, как сайты страницы отдают так ФФ их и отображает. Так что пока этой фичи оценить не могу.

Разве что попробовать с кодировщиками, lame, avidemux с кодеками, sox, imagemagick... Может на них заметней будет?

Или, может, из-за того, что процессор Athlon X2 5600+, там, небось, и ускорять уже некуда?

.

Небольшой off topic, но тоже для ищущих "реальных тем".
http://mesadu.net/index.php?option=content&Itemid=10&task=view&id=20
согласно http://www.llvm.org/ версия 2.6 выйдет через 10 дней.
Что думаете?
см также http://www.opennet.ru/openforum/vsluhforumID3/58544.html

Это подпись, которую невозможно истолковать неправильно

patamooshta написал(а): см

patamooshta написал(а):
см также http://www.opennet.ru/openforum/vsluhforumID3/58544.html

в жизни не читал такого... долго смеялся =))))

Что-то меня эта тема совсем

Что-то меня эта тема совсем перестала радовать. Не запускается Pidgin. Уже на несколько раз пересобрал его и все зависимости без этих волшебных опций, и даже на gcc-4.3.4 переключился и снова пересобрал - и все равно:

$ pidgin
profiling:/var/tmp/fprofile//tmp/distccd_2bb17270.gcda:Cannot open
profiling:/var/tmp/fprofile//tmp/distccd_2fee7270.gcda:Cannot open
profiling:/var/tmp/fprofile//tmp/distccd_32887272.gcda:Cannot open
... 
profiling:/var/tmp/fprofile//tmp/distccd_a6b4728f.gcda:Cannot open
profiling:/var/tmp/fprofile//tmp/distccd_cc35728f.gcda:Cannot open
profiling:/var/tmp/fprofile//tmp/distccd_4efc728f.gcda:Cannot open
Pidgin 2.6.2 были с ошибками сегментации и попытались просмтреть файл ядра.
Это глюк в программе и вы тут не виноваты.
...

Не пойму, зачем они ему нужны? Уж и не знаю, что еще пересобрать?

Poor Fred написал(а): $

Poor Fred написал(а):
$ pidgin
profiling:/var/tmp/fprofile//tmp/distccd_2bb17270.gcda:Cannot open
profiling:/var/tmp/fprofile//tmp/distccd_2fee7270.gcda:Cannot open
profiling:/var/tmp/fprofile//tmp/distccd_32887272.gcda:Cannot open
... 
profiling:/var/tmp/fprofile//tmp/distccd_a6b4728f.gcda:Cannot open
profiling:/var/tmp/fprofile//tmp/distccd_cc35728f.gcda:Cannot open
profiling:/var/tmp/fprofile//tmp/distccd_4efc728f.gcda:Cannot open
Pidgin 2.6.2 были с ошибками сегментации и попытались просмтреть файл ядра.
Это глюк в программе и вы тут не виноваты.
...

Не пойму, зачем они ему нужны? Уж и не знаю, что еще пересобрать?

попробуй пересобрать distccd, ну и попробуй задать права доступа к каталогу /var/tmp/fprofile

вот такие пирожки с котятами
и ватрушки с несварением :)
Чукча не писатель, Чукча читатель :)

Лишний слэш

Poor Fred написал(а):
Что-то меня эта тема совсем перестала радовать. Не запускается Pidgin. Уже на несколько раз пересобрал его и все зависимости без этих волшебных опций, и даже на gcc-4.3.4 переключился и снова пересобрал - и все равно:

$ pidgin
profiling:/var/tmp/fprofile//tmp/distccd_2bb17270.gcda:Cannot open
profiling:/var/tmp/fprofile//tmp/distccd_2fee7270.gcda:Cannot open
profiling:/var/tmp/fprofile//tmp/distccd_32887272.gcda:Cannot open
... 
profiling:/var/tmp/fprofile//tmp/distccd_a6b4728f.gcda:Cannot open
profiling:/var/tmp/fprofile//tmp/distccd_cc35728f.gcda:Cannot open
profiling:/var/tmp/fprofile//tmp/distccd_4efc728f.gcda:Cannot open
Pidgin 2.6.2 были с ошибками сегментации и попытались просмтреть файл ядра.
Это глюк в программе и вы тут не виноваты.
...

Не пойму, зачем они ему нужны? Уж и не знаю, что еще пересобрать?

Лишний слэш в fprofile-dir

Много времени прошло - как

Много времени прошло - как там поживает свежий gcc-4.4.2? Он достаточно стабилен? Если до него обновиться, не надо быть готовым к тому, что придётся потом откатываться обратно?

Вся система им собрана и

Вся система им собрана и давно прекрасно работает.
ps -fprofile и т.д. не юзал

А флаги какие? -O3 или -O2,

А флаги какие? -O3 или -O2, или -Os?

Сейчас - O2(комп и ноут) и

Сейчас - O2(комп и ноут) и Os("сервер"), когда-то было O3, но не помню на каком gcc

О3 не рекомендуют

О3 не рекомендуют использовать с gcc 4.4.х
собирал всю систему с Os и O2
разницу не ощущаю, только в размере, при Os в корне свободно 3,5Гиб,c O2 свободно 2.9Гиб

Разница между чем, и чем?

Разница между чем, и чем? Между -Os и -O2? Или между -O2 и -O3?
Что будет лучше, с новой версией gcc, но с -O2, или старую оставить с -O3?
С -Os, я так понял, без особой разницы.

O2 и Os Если старую

O2 и Os
Если старую gcc-3.*(но вряд ли все соберется) - тогда O3, на gcc-4.* O3 вообще не рекомендуют, так что лучше O2

Настройки просмотра комментариев

Выберите нужный метод показа комментариев и нажмите "Сохранить установки".