медленное выполнение циклов

Вопросы программирования на Free Pascal, использования компилятора и утилит.

Модератор: Модераторы

Alex_123_1
новенький
Сообщения: 26
Зарегистрирован: 24.07.2009 10:02:52

Сообщение Alex_123_1 »

Иван Шихалев писал(а):А с ключиком -O2 тоже в памяти? У меня уходит в регистр.


Во! то что нужно. Большое спасибо. Конечно чуть медленее. Но уже что-то.

А медленее из-за CMP EBX,EAX

Код: Выделить всё

0041F380    INC EAX
0041F381    INC ESI
0041F382    CMP EBX,EAX
0041F384    JG SHORT project1.0041F380
Odyssey
энтузиаст
Сообщения: 580
Зарегистрирован: 29.11.2007 16:32:24

Сообщение Odyssey »

Аватара пользователя
Иван Шихалев
энтузиаст
Сообщения: 1138
Зарегистрирован: 15.05.2006 11:26:13
Откуда: Екатеринбург
Контактная информация:

Сообщение Иван Шихалев »

Odyssey писал(а):Ещё есть -O3, можно попробовать.

В данном случае — не повлияет.

Alex_123_1 писал(а):А медленее из-за CMP EBX,EAX

Если переменная цикла используется, то и Delphi сгенерирует подобный код.
Аватара пользователя
coyot.rush
постоялец
Сообщения: 309
Зарегистрирован: 14.08.2009 08:59:48

Сообщение coyot.rush »

похоже придется юзать ассемблерные вставки. Уж они то выполняются нормально.

Оптимизация http://www.wasm.ru/publist.php?list=10
Если все таки решитесь использовать ассемблер
Аватара пользователя
vada
энтузиаст
Сообщения: 691
Зарегистрирован: 14.02.2006 12:43:17

Сообщение vada »

Ключик -o2 весьма опасный при оптимизации циклов.
Аватара пользователя
Иван Шихалев
энтузиаст
Сообщения: 1138
Зарегистрирован: 15.05.2006 11:26:13
Откуда: Екатеринбург
Контактная информация:

Сообщение Иван Шихалев »

vada писал(а):Ключик -o2 весьма опасный при оптимизации циклов.

И чем же, интересно?
Ответить