LINUX.ORG.RU

-mcpu vs. -march


0

0

Решил протестировать, что на самом деле лучше. Сначала писал программы, по миллиону раз насчитывающие и по всякому умножающие синусы и косинусы. Но, всё-таки, более на нормальных программах это выглядит более убедительно. В руководстве по установке Gentoo написано, что -march -O3 даёт наивысшую производительность. Я четыре раза откомпилил bzip2 1.0.2 с разными опциями и брал один и тот же tar-файл. Вот, что у меня получилось: 1)-mcpu=pentium4 ___1)-O2 time=1m55.2535 ___2)-O3 time=1m56.333s

_2)-march=pentium4 ___1)-O2 time=1m56.447s ___2)-O3 time=1m57.374s 3). -O2 time=2m с большим фигом. В общем, -mcpu=cpu -O2 рулит! В моих программах результат был таким же.

★★
Ответ на: комментарий от drish

Тебя, дурака, читать - время терять. Читал.

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

Я этой темы не видел. Сначала я верил авторам руководства Генту. Сомнения у меня появились тогда, когда я откомпилил gcc 3.4.1. Он работал почти в два раза медленнее, чем 3.2 в Гентуag.

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

А подскажите плиз где правильнее эти флаги оптимизации указывать? допустим я хочу чтобы все программы которые я компилю, чтобы им автоматически передавалось допустим -O2 -mcpu=athlon-xp
где это добро прописать?

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

А ./configure ругается тогда.. вот так вот
./configure CFLAGS="-O2 -mcpu=pentium4"
configure: warning: CFLAGS=-O2 -mcpu=pentium4: invalid host type

anonymous
()

Это 3.3.0?

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

В том то и дело, что допустим апаче.. как ему сказать чтобы компилился с -O2 -mcpu=cpu
а то я оказца свой апаче кажется даже без О2 скомпилил
В Makefile CFLAGS вообще нету

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

Demetrio **** (*) (20.08.2004 20:33:45)
нет не получается с export CFLAGS="-O2 -mcpu=cpu"
я на другой проге только что пробовал, сначала с CFLAGS, потом делал unset CFLAGS - скорость та же самая..
а в Makefile от апаче и в самом деле нет никаких признаков CFLAGS, и куда там его запихнуть - чёрт знает..
кстати посмотрел сейчас в сорсы от слаквари - апаче, в отличии от многих других прог, там тоже компилится без всяких флагов..

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

да всё разобрался, оказывается он в src директории в Makefile прописывает все флаги, а в корневой директории в Makefile этого нету
спасибо

anonymous
()

или я глючу, или толку с этих оптимизаций -- несколько процентов. Ну и нафиг они тогда?

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

В rpm-based дистрибутивах все это добро можно указать в rpmrc (/usrlib/rpm).

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