LINUX.ORG.RU

CFLAGS/CPPFLAGS


0

0

Есть CPU Intel Celeron 1300. Что надо прописать в CFLAGS/CPPFLAGS для наибольшей оптимизации программ при компиляции?

Если для C++, то не СPPFLAGS, а CXXFLAGS. Например так: "-march=pentium3 -mtune=pentium3 -O3 -fomit-frame-pointer -pipe"

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

Гонишь, так вообще не будет работать на современном проце (см "A20# Handler Issue", поиском на developer.intel.com)

Нужно:

-march=i386 -mcpu=i386 -O0 -D_A20HFX

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

Доказательство моих слов:

gcc после компиляции кода, делает его тестовый прогон, оценивает производительность. Соотвественно по времени работы gcc можно оценить, где код получаеться лучше, там где gcc отработал быстрее, там и код быстрее работает.

сравним на тестовом примере:

int main() { int i; for (i=0; i<100; i++) { static int j = 0; j = j * i + i; } }

$ time gcc -O0 1.c

real 0m0.488s user 0m0.076s sys 0m0.115s

$ time gcc -O3 1.c

real 0m0.762s user 0m0.083s sys 0m0.127s

Очевидно, что с -O0 код получаетсья почти в 1.5 раза быстрее

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

> Если для C++, то не СPPFLAGS, а CXXFLAGS. Например так: "-march=pentium3 -mtune=pentium3 -O3 -fomit-frame-pointer -pipe"

CPPFLAGS - это флаги оптимизации для препроцессора!

anonymous
()

Счас тебе доходчиво объяснят, что железо твое - полное говно, для реальных оптимизиций нужно купить 2xdualcore-opteron с минимум 4-мя гигами памяти - и все будет летать. А если не будет - поставят Зюзю и ты поймешь, что все уже отлетало.

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

Так вы считаете время компиляции а не качество оптимизации.

Во-первых, когда это gcc делал "тестовый" прогон кода, и что это такое вообще?

Во-вторых, чем сильнее оптимизация, тем больше времени она займет, не находите?..

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

Не обращай внимание, в онанимиляндию наконец долетел Боинг с травой...

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