Оптимизация Linux для архитектуры
- #!/bin/bash
- Неотъемлемая часть форума
- Сообщения: 331
- Зарегистрирован: 11 дек 2002, 00:35
- Откуда: /bsu/rfe
- Контактная информация:
Оптимизация Linux для архитектуры
Назрел один вопрос. У меня 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?
Еще раз спасибо.
Как известно, все пакеты, кроме ядра, в этом дистрибутиве скомпилированы под i386.
У меня довольно слабая машина (Duron 650 + 192 MB), и при работе с Gnome 2.6 проявляются очень неприятные притормаживания.
Какие пакеты нужно пересобрать под мою архитектуру (-march=athlon) в первую очередь, чтобы повысить производительность?
Уже пересобраны:
1) kernel (ну естественно)
2) GTK2 (думаю не зря)
3) freetype (ну а вдруг?:-))
Заранее спасибо.
И еще вопрос: когда я использую -march=athlon, флаги -m3dnow и -mmmx, надеюсь, выставляются автоматически? Если нет, то подскажите пожалуйста как их выставить при сборке из src.rpm?
Еще раз спасибо.
ИМХО = Имею Мнение, Хрен Оспоришь
Телефон - 8-029-7796373. Ночью выключен.
Телефон - 8-029-7796373. Ночью выключен.
- #!/bin/bash
- Неотъемлемая часть форума
- Сообщения: 331
- Зарегистрирован: 11 дек 2002, 00:35
- Откуда: /bsu/rfe
- Контактная информация:
- #!/bin/bash
- Неотъемлемая часть форума
- Сообщения: 331
- Зарегистрирован: 11 дек 2002, 00:35
- Откуда: /bsu/rfe
- Контактная информация:
- #!/bin/bash
- Неотъемлемая часть форума
- Сообщения: 331
- Зарегистрирован: 11 дек 2002, 00:35
- Откуда: /bsu/rfe
- Контактная информация:
Говорите, что 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. Кстати, кто с какими ключами пересобирает ядро? Поделитесь опытом!
Знаете, по сравнению с 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. Кстати, кто с какими ключами пересобирает ядро? Поделитесь опытом!
ИМХО = Имею Мнение, Хрен Оспоришь
Телефон - 8-029-7796373. Ночью выключен.
Телефон - 8-029-7796373. Ночью выключен.
нОРХЛХГХПНБЮРЭ ЛНФМН ДН АЕЯЙНМЕВМНЯЭРХ, Х ОПЮЙРХВЕЯЙХ БЯЕЦДЮ ЛНФМН ОНДНАПЮРЭ РЮЙХЕ ЙКЧВХ, ОПХ ЙНРНПШУ МХТХЦЮ ПЮАНРЮРЭ МЕ АСДЕР. мЕ ЯВХРЮИ ЯЕАЪ СЛЕМЕЕ ПЮГПЮАНРВХЙНБ ОПНЦПЮЛЛ БЯЕ ПЮГСЛМШЕ ЙКЧВХ СФЕ ОПНОХЯЮМШ ЦДЕ ОНКНФЕМН. хЛЕЕР ЯЛШЯК ЯРЮБХЭР РНКЭЙН -march, -mcpu, -O3 (МН МЕ БЯЕЦДЮ) Х ХМНЦДЮ МЮДН ЯРЮБХРЭ -fPIC (АЕГ ЩРНЦН ТКЮЦЮ МЕ ПЮАНРЮЕР prelink.) Ю УНВЕЬЭ СДНАМНИ ЯАНПЙХ ОПНЦПЮЛЛ - ЯРЮБЭ ЦЕМРС debian woody Х МЮАХПЮИЯЪ РЕПОЕМХЪ.
Опыт растет прямо пропорционально выведенному из строя оборудованию
- Padre
- Увлекающийся
- Сообщения: 84
- Зарегистрирован: 27 дек 2003, 18:53
- Откуда: Минск
- Контактная информация:
Re: Оптимизация Linux для архитектуры
Гы, у меня Pentium II 233 + 128 MB + Slackware + XFCE 4.05#!/bin/bash писал(а): У меня довольно слабая машина (Duron 650 + 192 MB), и при работе с Gnome 2.6 проявляются очень неприятные притормаживания.
Еще раз спасибо.
Пересобрано только ядро.
Скажем так, работает не медленнее, чем Win$$$s и кино смотрится без тормозов и OpenOffice грузится, если только скорость компиляции не радует (после Celeron 1,7)
Избаловали нас МягкоМелкие "требованиями к программному обеспечвению" !
Кстати, по этому поводу замечу про Alt Linux - до и после пересборки ядра это две разные (по производительности - ядро собирается в разы дольше на предустановленном системой ядре) системы...
Мнение о Master (Junior) 2.2, может сейчас что подправили.
Мир Вам !!!