Страница 1 из 1

Оптимизация Linux для архитектуры

Добавлено: 22 июн 2004, 17:05
#!/bin/bash
Назрел один вопрос. У меня Fedora Core 2 DVD (т.е. есть src.rpm).
Как известно, все пакеты, кроме ядра, в этом дистрибутиве скомпилированы под i386.
У меня довольно слабая машина (Duron 650 + 192 MB), и при работе с Gnome 2.6 проявляются очень неприятные притормаживания.

Какие пакеты нужно пересобрать под мою архитектуру (-march=athlon) в первую очередь, чтобы повысить производительность?

Уже пересобраны:

1) kernel (ну естественно)
2) GTK2 (думаю не зря)
3) freetype (ну а вдруг?:-))

Заранее спасибо.

И еще вопрос: когда я использую -march=athlon, флаги -m3dnow и -mmmx, надеюсь, выставляются автоматически? Если нет, то подскажите пожалуйста как их выставить при сборке из src.rpm?

Еще раз спасибо.

Добавлено: 22 июн 2004, 19:17
mend0za
glibc и xfree

на остальное - забить

Добавлено: 22 июн 2004, 21:05
Llama
mend0za, гм, ты ж говорил что xfree безполезно?
#!/bin/bash, я бы еще пересобрал qt и сделал перлинк. Хотя наиболее эффективным способом видимо был бы снос гнома (2.6 пока не видел, 2.4 тормозюч еще боле чем KDE)

Добавлено: 22 июн 2004, 22:30
mend0za
Llama: я пересобирал всего 1 раз, очень давно и это было ужасно долго

насчёт прелинка - соглашусь
он благотворен для раздувшихся desktop environment, грузяших десятки библиотек при старте

Добавлено: 22 июн 2004, 23:43
#!/bin/bash
А можно поподробнее про прелинк?

Добавлено: 23 июн 2004, 07:59
Llama
#!/bin/bash, а что тут говорить - apt-get install -y prelink && prelink --all - и пить кофе на много часов.

Добавлено: 23 июн 2004, 12:58
#!/bin/bash
Спасибо, Aleksey Kondratenko, Mist - это на самом деле довольно шустрый движок.

Ядро 2.6 стоит в Fedora Core 2 по дефолту, так что вопросов не возникает.

А вот про шрифты не очень понятно..:-(

Добавлено: 25 июн 2004, 21:12
#!/bin/bash
Говорите, что XFree86 долго пересобирается?
Знаете, по сравнению с glibc он собирается как "Hello World" по сравнению с Linux kernel.
Я пересобрал из src.rpm X-сервер (X.org) без особых проблем за пару часов.
Кстати, ЗНАЧИТЕЛЬНО повлияло на скорость (в лучшую сторону, естественно:-))

glibc же пересобирался у меня ПОЛДНЯ до тех пор, пока rpm мне не вернул error.
В нем говорилась, что У МЕНЯ НЕДОСТАТОЧНО МЕСТА НА ДИСКЕ.
До сборки у меня было свободно на Linux-разделе 2,5 Gb. Все они улетучились в процессе компиляции и тестов.

То ли так надо, то ли Fedora-community реально прикольнулось над этим src.rpm, то ли у меня совсем с говолой и руками плохо.

Кстати, вот нашел довольно интересные вещи по поводу флагов оптимизации (http://www.freehackers.org) :

Помимо обычных -march=[i386,i486,i586,i686,athlon] -pipe -O3 -fomit-frame-pointer ,
можно использовать и "нестабильные" ключи (приведены вместе с обычными):

Pentium III (Intel):
CFLAGS="-march=pentium3 -O3 -pipe -fomit-frame-pointer -fforce-addr -falign-functions=4 -fprefetch-loop-arrays"
CXXFLAGS="${CFLAGS}"

Athlon (AMD):
CFLAGS="-march=athlon -O3 -pipe -fomit-frame-pointer -ffast-math -funroll-loops -fforce-addr -falign-functions=4"
CXXFLAGS="${CFLAGS}"

Athlon-tbird, aka K7 (AMD):
CFLAGS="-march=athlon-tbird -O3 -pipe -fforce-addr -fomit-frame-pointer -funroll-loops -falign-functions=4 -maccumulate-outgoing-args"
CXXFLAGS="${CFLAGS}"

У кого-то заработал и такой вариант:

Athlon XP 2000+
CFLAGS="-march=athlon-xp -m3dnow -msse -mfpmath=sse -mmmx -O3 -pipe -fforce-addr -fomit-frame-pointer -funroll-loops -frerun-cse-after-loop -frerun-loop-opt -falign-functions=4 -maccumulate-outgoing-args -ffast-math -fprefetch-loop-arrays"
CXXFLAGS="${CFLAGS}"

Вопрос состоит в следующем - как передать все это великолепие, если идет сборка из src.rpm? Я пробовал ковырять spec-файл, но он дает результат далеко не всегда. Ковыряться в configure и Makefile - это можно. Но есть ли другой способ?

Заранее спасибо!

P.S. Кстати, кто с какими ключами пересобирает ядро? Поделитесь опытом!

Добавлено: 25 июн 2004, 21:16
Llama
нОРХЛХГХПНБЮРЭ ЛНФМН ДН АЕЯЙНМЕВМНЯЭРХ, Х ОПЮЙРХВЕЯЙХ БЯЕЦДЮ ЛНФМН ОНДНАПЮРЭ РЮЙХЕ ЙКЧВХ, ОПХ ЙНРНПШУ МХТХЦЮ ПЮАНРЮРЭ МЕ АСДЕР. мЕ ЯВХРЮИ ЯЕАЪ СЛЕМЕЕ ПЮГПЮАНРВХЙНБ ОПНЦПЮЛЛ БЯЕ ПЮГСЛМШЕ ЙКЧВХ СФЕ ОПНОХЯЮМШ ЦДЕ ОНКНФЕМН. хЛЕЕР ЯЛШЯК ЯРЮБХЭР РНКЭЙН -march, -mcpu, -O3 (МН МЕ БЯЕЦДЮ) Х ХМНЦДЮ МЮДН ЯРЮБХРЭ -fPIC (АЕГ ЩРНЦН ТКЮЦЮ МЕ ПЮАНРЮЕР prelink.) Ю УНВЕЬЭ СДНАМНИ ЯАНПЙХ ОПНЦПЮЛЛ - ЯРЮБЭ ЦЕМРС debian woody Х МЮАХПЮИЯЪ РЕПОЕМХЪ.

Добавлено: 25 июн 2004, 22:55
bazil
Да от glibc толку намного больше, чем от xfree. И обязательно KDE(если используется) и qt.

Re: Оптимизация Linux для архитектуры

Добавлено: 26 июн 2004, 09:36
Padre
#!/bin/bash писал(а): У меня довольно слабая машина (Duron 650 + 192 MB), и при работе с Gnome 2.6 проявляются очень неприятные притормаживания.
Еще раз спасибо.
Гы, у меня Pentium II 233 + 128 MB + Slackware + XFCE 4.05
Пересобрано только ядро.
Скажем так, работает не медленнее, чем Win$$$s и кино смотрится без тормозов и OpenOffice грузится, если только скорость компиляции не радует (после Celeron 1,7) :!:
Избаловали нас МягкоМелкие "требованиями к программному обеспечвению" ! :?
Кстати, по этому поводу замечу про Alt Linux - до и после пересборки ядра это две разные (по производительности - ядро собирается в разы дольше на предустановленном системой ядре) системы...
Мнение о Master (Junior) 2.2, может сейчас что подправили.