LinuxForum.Fans
Тема

Несколько вопросов по настройке

Автор: deleted_user 58 сообщений 19665 просмотров
#175348

Т.е. в идеале надо как надо ставить пакеты в слаке, дабы они работали оптимизированно под оборудование - собирать из исходников свои txz/tgz?

#175367
Renato Rosse написал:
Т.е. в идеале надо как надо ставить пакеты в слаке, дабы они работали оптимизированно под оборудование - собирать из исходников свои txz/tgz?

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

#175394
bormant написал:



Резюме.
Пользуйтесь "su -", "su -l" вместо "su". gnome-terminal > su - > locale. От "просто su" будут и другие проблемы, например, принадлежащие root-у файлы в домашнем каталоге пользователя.

Спасибо за помощь и разъяснение, теперь все встало на на свой места. Будем дальше разбираться).
Renato Rosse, почитайте на досуге статью SergMarkovа об установке, настройке и оптимизации(там основы излагаются) slackware называется "Легкая slackware на пальцах".Мне статья очень понравилась написано понятно и по существу, за это ему огромное спасибо.

#175395
SergMarkov написал:
[quote=Renato Rosse]Т.е. в идеале надо как надо ставить пакеты в слаке, дабы они работали оптимизированно под оборудование - собирать из исходников свои txz/tgz?

Они в слакбилде из исходников и собираются, но с умолчальными опциями конфигурирования самой программы и под абстрактный процессор.
Для сборки под себя надо в слакбилде задать свои опции конфигурирования программы и свои опции компилятора и линковки[/quote]

Не нашел описание редактирования program.SlackBuild, и в частности SLKCFLAGS и архитектуры для оптимизации.
Подскажите, если знаете.

ABulychev написал:
Спасибо за помощь и разъяснение, теперь все встало на на свой места. Будем дальше разбираться).
Renato Rosse, почитайте на досуге статью SergMarkovа об установке, настройке и оптимизации(там основы излагаются) slackware называется "Легкая slackware на пальцах".Мне статья очень понравилась написано понятно и по существу, за это ему огромное спасибо.

Перечитывал раз 50 эту статью :)

#175402
Renato Rosse написал:

Не нашел описание редактирования program.SlackBuild, и в частности SLKCFLAGS и архитектуры для оптимизации.
Подскажите, если знаете.

Собственно там правятся следующие вещи
- что идет после ./configure - это опции самой программы
К примеру вот из darktable.SlackBuild
./configure \
--prefix=/usr \
--libdir=/usr/lib${LIBDIRSUFFIX} \
--sysconfdir=/etc \
--localstatedir=/var \
--mandir=/usr/man \
--build=$ARCH-slackware-linux \

Первое - куда ставится, остальное пути для составляюших пакета, это собственно что есть практически в любом слакбилде. Для простеньких программ этого вполне достаточно, более сложные имеют больше опций настройки. Чтобы узнать остальные опции конфигурирования распаковываем сорцы и в папке с ними набираем в терминале ./configure --help, смотрим опции и записываем в слакбилд.
Второе касается опций CFLAGS CXXFLAGS и LDFLAGS, это настройки компиляции и линковки под свой процессор. Тут к сожалению мало что вам могу сказать, поскольку у меня не X64. Посмотреть эти флаги для вашего процессора можно в вики гентушников, которые традиционно много внимания уделяют таким вещам.

#175405
Renato Rosse написал:

Перечитывал раз 50 эту статью :)

И не помогло? Гуглить не пробовали на тему CFLAGS optimizations (на сколько я понимаю CFLAGS равносильно SLKCFLAGS, но могу ошибаться) или остается только одно читать и разбираться с GCC Optimize Options

#175406

Я, к примеру, не считаю, что разбираюсь в опциях компилятора лучше gcc и поэтому использую:
[console]
gentoo-laptop log # grep FLAGS /etc/make.conf
CFLAGS="-march=native -mtune=native -O2 -pipe"
CXXFLAGS=${CFLAGS}
[/console]

#175408
Lupo Alberto написал:
Я, к примеру, не считаю, что разбираюсь в опциях компилятора лучше gcc и поэтому использую:
[console]
gentoo-laptop log # grep FLAGS /etc/make.conf
CFLAGS="-march=native -mtune=native -O2 -pipe"
CXXFLAGS=${CFLAGS}
[/console]

Оптимальные флаги находятся методом научного тыка :-) и последующим замером производительности
У меня к примеру это
-O3 -march=native -mtune=native -fomit-frame-pointer -pipe -msse4 -falign-jumps=1 -falign-labels=1 Тоже самое стоит и в опциях cmake и qmake. Но это только для конкретного компа и флаги выбраны по замерам производительности. Впрочем native pipe и fomit применимы и в самом общем случае. Единственно что с fomit нельзя пересобирать gtk. Да-да :-) -O3 это некошерно, но проблем с ним не имел, к тому же не сервер с доками на лямы баксов
Плюс, что давно ставят практически везде, но почему то не ставит Патрик
LDFLAGS="-Wl,-O1 -Wl,--as-needed

#175409
SergMarkov написал:
Второе касается опций CFLAGS CXXFLAGS и LDFLAGS, это настройки компиляции и линковки под свой процессор. Тут к сожалению мало что вам могу сказать, поскольку у меня не X64. Посмотреть эти флаги для вашего процессора можно в вики гентушников, которые традиционно много внимания уделяют таким вещам.

Например, здесь по-моему не шибко много этих флагов указывается, также в хэндбуке. И главное в этом деле не переусердствовать, а то как гласит народная мудрость с дури можно кое-что сломать).

#175410
ABulychev написал:
И главное в этом деле не переусердствовать, а то как гласит народная мудрость с дури можно кое-что сломать).

Это да :-) Но в принципе есть самые общие флаги, native, pipe, fomit, остальное от лукавого и надо мерять производительность на конкретном компе с разными флагами
Немного не здесь, вот где флаги под процессор, они по линкам
http://en.gentoo-wiki.com/wiki/Safe_Cflags
но в принципе лучше не парить себе мозги и ставить native

#175411

to SergMarkov, не подскажите чем можно замерять производительность системы?
to Renato Rosse, посмотрите эту, там есть описание некоторых флагов на русском языке(может пригодится).

#175412
ABulychev написал:
to SergMarkov, не подскажите чем можно замерять производительность системы?

Теми программами, которые вы постоянно используете и замерять время исполнения типичных задач. Собственно это единственно корректный метод.
Скорость интерфейса можно померять gtkperf и qtperf

#175413
SergMarkov написал:

но в принципе лучше не парить себе мозги и ставить native

То есть получается native подтягивает все флаги под каждый тип процессора ?

#175414
ABulychev написал:
То есть получается native подтягивает все флаги под каждый тип процессора ?

man gcc

text

-mcpu=cpu_type
           ...

Native Linux/GNU toolchains also support the value native, which selects the best architecture option for the host processor. -mcpu=native has no effect if GCC does not recognize the processor.

-mtune=cpu_type Set only the instruction scheduling parameters for machine type cpu_type. The instruction set is not changed.

Native Linux/GNU toolchains also support the value native, which selects the best architecture option for the host processor. -mtune=native has no effect if GCC does not recognize the processor.

#175415
ABulychev написал:

То есть получается native подтягивает все флаги под каждый тип процессора ?

Нет, не все, есть множество процессоронезависимых флагов
В принципе оптимальные флаги компиляции это далеко не единственный метод повышения производительности, такое же , если не большое значение имеет выбор оптимальных программ и настройка уже скомпилированных программ, При просмотре HD видео к примеру большой значение имеет выбор плеера с поддержкой многопоточности и vdpau, другой пример - вы можете великолепно откомпилировать IceWM, но если оставить в его темах gradient, которые авторы тем суют от лени куда не попадя, то тормозить на тяжелых темах он может едва ли не хуже четвертых кед.

#175417
Renato Rosse написал:
Не нашел описание редактирования program.SlackBuild, и в частности SLKCFLAGS и архитектуры для оптимизации.
Подскажите, если знаете.

тыц
есть конечно много мнений на этот вопрос , но (!) - весьма существенное - то что выставлено по дефолту в(практически любом) слакбилде это практически золотая середина и дело не процессоре как таковом ( да будь он хоть десятиядерным турбо-монстром) дело в коде ! .. поясню :
... к примеру у вас corei7 и вы выкрутили "все ручки на красное" , выставили MAKEFLAGS="-j9" - превосходно ! вы надеетесь таким образом собрать Gnome3 за три часа - не надейтесь этого не будет , более того , то что без проблем за двенадцать часов собирается на дохленьком Целероне , на вашем монстре встанет колом через пять минут с какой нибудь потешной ошибкой и вы никогда не найдёте её причин . Вопрос почему ? Всё очень просто - те кто пишет софт , пишет его по вдохновению на том что есть и в 99% случаев "ложит с большим прибором" на ваши многоядерные монстры и параллелизм , поэтому не стоит возлагать большие надежды на то , что какой нибудь там Inkscape или VLC вдруг начнёт собираться в двадцать раз быстрее если запустить его в 9 нитей сборки - не факт что вообще соберётся , а если соберётся то будет правильно работать . Читайте доки на то что хотите собирать , как правило разработчики явно объявляют о поддержке многоядерности и параллелизма ...

#175419

Lupo Alberto, SergMarkov, теперь стало понятнее. Спасибо.

#175428
gramozeka написал:

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

Ну :-) это как сказать вряд ли SLKCFLAGS="-O2 -march=i486 -mtune=i686"
и отсутствие LDFLAGS "золотая середина" для всех прог, для системных да, для прикладных вообще то под большим сомнением

Войдите или зарегистрируйтесь, чтобы ответить.