LINUX.ORG.RU

Оптимизации под процессор в бинарных дистрибутивах


0

0

Подскажите, если на пакете в бинарном дистрибутиве написано "386" - он собран под 386, без поддержки mmx, sse, sse2-3 и остальных расширений? а если amd64 - то с чем он собран? и сильный ли прирост производительности ли дают эти расширения по сравнению с чистым 386/amd64?

> написано "386"
фактически флаги могут быть какие угодно... не обязательно это -march=i386

в положительных моментах можно отметить OpenSUSE ( i586 ), ArchLinux (i686) , Slackware (-march=i486 -mtune=i686)

>без поддержки mmx, sse, sse2-3 и остальных расширений

даже если в флагах gcc все это не задано, никто не мешает программам использовать свои собственные оптимизированные по данным инструкциям алгоритмы (кодеки, шифрование, liboil, qt4)

>amd64 - то с чем он собран

в типичном случае
-march=generic64 -mfpmath=sse -msse2 -fomit-frame-pointer

прирост зависит от конкретных задач и процессора (Intel Core2 например весьма быстрее работают с технологией macrofusion @ 32 bit , на 64 бит она не работает)

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

странные у вас порядки, разница не более 7%, причем кстати не всегда разница идет в плюс 64 битным системам

Sylvia ★★★★★
()

Все зависит от политики дистростроителя, но на i386 точно не пойдет :-) Мнимальная оптимизация у всех это i586, возможны варианты. Для RHEL вроде минимум это PII.

Прирост заметен по сравнению с оптимизацией для i386 и i686, но использование mmx и sse может дать прирост только узких задачах.

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

минимальная оптимизация это -march=generic32 , что весьма совместимо с i386 , так что проблемы могут быть только если дистростроители не собирают ядро с поддержкой старых архитектур (SMP ядра требуют действительно P2) , тем не менее в той же Slackware есть и UP ядра

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

i486 от i386
отличается встроенным FPU, хотя в случае glibc все равно доступны вариации, и никто еще из ядра не убирал kernel math emulation

в любом случае это нижняя планка и желание отдельных некросубьектов взгромоздить на откопанный мусор свежий дистрибутив (а также наличие железок весьма современных, но с ограниченным набором коммант x86) диктуют дистростроителям некоторые условия.
Поэтому про положительные моменты я уже написала
Это ArchLinux (-march=i686)
это Slackware (-mtune=i686)
это еще и Федора, новый релиз который будет -march=i686 -mtune=atom

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

>i486 от i386 отличается встроенным FPU
А как же SX четвёрки? или в gcc на них забили?
>-march=i686 -mtune=atom

А атом то тут при чём? Это чтобы убрать потери от отсутствия ОоОЕ?

GAMer ★★★★★
()

Обычно даже i386-бинарные дистры (тот же демьян) имеют в репах сборки ядра и глибц под i686. Так что существенных потерь по возможностям быть не должно.

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