Какая же это нахрен оптимизация?
От: Кирпа В А  
Дата: 11.01.02 10:40
Оценка:
Есть класс для реализации векторной алгебры
Привожу фрагмент реализации одного цикла (Release Version; Optimize — Maximize Speed)

; 498 : register int index = 0;

00043 33 c0 xor eax, eax
$L85381:

; 499 : do
; 500 : {
; 501 : tmp.pMO[index++] *= Number;
; 502 : }
; 503 : while (index < Vector2.Dimension);

00045 8b 4c 24 14 mov ecx, DWORD PTR _tmp$[esp+44]
00049 40 inc eax
0004a d9 45 0c fld DWORD PTR _Number$[ebp]
0004d dc 4c c1 f8 fmul QWORD PTR [ecx+eax*8-8]
00051 dd 5c c1 f8 fstp QWORD PTR [ecx+eax*8-8]
00055 3b 46 04 cmp eax, DWORD PTR [esi+4]
00058 7c eb jl SHORT $L85381

Почему сначала идет inc eax а затем fmul и fstp идут с -8 Ведь если inc eax перенести после fstp, то
не надо будет -8 Во первых короче на 2 байта да и быстрее наверное Не сочтите меня мелочным но

:down:
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.