LINUX.ORG.RU

[2megabaks & Silvy][gentoo][cflags]баланс между скоростью и стабильностью

 ,


0

1

дано: intel core 2 duo e6400, gcc-4.5.1 с graphite, Qt 4.7.0 и KDE 4.5.2

первоначальные cflags:

CFLAGS="-march=native -mtune=native -O2 -pipe -ftree-vectorize -Wno-all -g0"
CXXFLAGS="${CFLAGS}"

дали довольно скоростную систему (заметно в основном на тяжёлом софте типа kde, но частенько вываливаются досадные (в смысле том, что непонятно, как поправить) баги, самый раздражающий - это падение плазмы и kdeinit4 при выходе из сеанса

сменил на:

CFLAGS="-march=native -mtune=native -O2 -pipe -floop-interchange -floop-strip-mine -ftree-loop-distribution -ftree-vectorize -Wno-all -g0"
CXXFLAGS="-march=native -mtune=native -Os -floop-interchange -floop-strip-mine -ftree-loop-distribution -ftree-vectorize -pipe -Wno-all -g0"

получил _значительный_ прирост скорости загрузки и работы qt-приложений, но спустя некоторое время баг с падением плазмы и kdeinit4 снова заимел место

так вот, несколько вопросов:

1. Какие у вас флаги и как обстоит дело со стабильностью? Прошу не замалчивать, так как собираю систему по большей части не для себя.
2. Имеет ли смысл такая комбинация:

-march=native -mtune=native -Os -floop-interchange -floop-strip-mine -ftree-loop-distribution -ftree-vectorize -pipe
или при -Os все эти floop'ы и векторизации не работают?
3. Почему при компиляции glibc gcc вместо native в -mtune= подставляет i686?

кстати, есть подозрение, что падения из-за сырого Qt, сейчас собираю с 4.6.3

doctorch
() автор топика

Сам не страдаю таким, но по многим тредам ЛОРа вот проблема

с graphite

Хотя может просто плазма падает, потому что плазма падает.

vertexua ★★★★★
()

Убери mtune, добавь -Os -s (в LDFLAGS), прочти туториал по сборке HLFS, заботай сайт gcc с доками по флагам. А вместо всего этого лучше поставь человеку дистр, помощь по которому он сможет получить с меньшим геморроем.

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

я не ставлю никакому человеку дистр, я ещё не настолько подонок, чтобы людям Линуксы ставить

doctorch
() автор топика

Много приятных неожиданностей натива обнаруживается при выводе gcc -fverbose-asm -march=native -Q --help=targetnative :-)

SergMarkov
()

Где-то от Silvy было что gcc-4.4.х пока еще быстрее gcc-4.5.х

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

есть мнение, что к по-настоящему включаемым флагам эта инфа имеет мало отношения

doctorch
() автор топика
Ответ на: комментарий от madcore

>"-mfpmath=sse" теперь само включается при соотв. march?
нет!

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

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

megabaks ★★★★
()

при "-march=native -mtune=native" последнее не имеет смысла

megabaks ★★★★
()

>или при -Os все эти floop'ы и векторизации не работают?
если указать ПОСЛЕ -Os, то работают
кури общие правила задания опций - конкретно про очерёдность

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

Так какая именно фича «криво работает» - -march=native -Q --help=target или что «это не соотвествует действительности» ? :-) Что то большие подозрения что именно вторая :-)) Первая то фича как раз от разрабов

SergMarkov
()

>-ftree-vectorize
всё-таки вкуснее "-mfpmath=sse далее_самая_новая_из_поддерживаемых_процом_s*se*"
например -mfpmath=sse -msse4.1

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

короче, сделал так

-march=native -mtune=native -Os -pipe -Wno-all

посмотрим, чего получится

doctorch
() автор топика
Ответ на: комментарий от anon_666

перепроверю ещё раз

но прирост скорости был заметен сразу же, я сам не ожидал

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