[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Перекомпиляция основных программ



On Saturday 16 of October 2010 23:52:25 Н. Артём wrote:
> 
> Не, ну мне же не нужна функциональность USE флагов.
> Для меня достаточно пересборки с нужным -march/-mtune, одинаковыми для
>  всех, и иже с ними.
> 

Лет 10 назад занимался опртимизацией своей собственной программы.
С тех пор вынес следующее впечатления:

1) Разница между -O0 и -O2, на обычных задачах, незаметна вообще.
Только на числодробительных что-то можно заметить.
Прочие опции компилятора, чаще всего не помогают, но могут ухудшить.

2) Основной ресурс оптимизации -- это грамотное расположение кода и данных, 
чтобы правилно забить кэш процессора.
Но
  а) это большая морока
  б) имеет смысл только на числодробительных задачах

3)  многозадачность убивает напроч любую подобную оптимизацию,
 если, конечно, программа не числодробилка.


Дело в том, что числодробилка, в основном, складывает и вычитает, умножает и 
делит.
Чтобы улучшить производительность числодробилки, нужно чтобы арифметика 
работала побыстрее, а прочих команд было поменьше.
Вот для этого и нужны MMX, SSE и опции компилятора.

А прочие программы, в основном, занимаются копированием данных туда-сюда.
Тут никакая оптимизация не поможет.

-- 
Скажи, кузнечик,
О своей жизни в траве
Не упрыгивай!

Reply to: