Re[10]: Об эффективности программ
От: Pavel Dvorkin Россия  
Дата: 10.10.05 12:17
Оценка: :))) :))
Здравствуйте, Pavel Dvorkin, Вы писали:


PD>Сорри, это был VC6


Попробовал сейчас в VC7. Да, он действительно генерирует несколько своеобразный код, который быстрее примерно в 2 раза. Впрочм, тихого ужаса все равно нет.

; 19 : {
; 20 :
; 21 : for(int i = 0; i < 100000; i++)

xor eax, eax
$L19464:

; 22 : if(a[i] == 666)

cmp DWORD PTR _a$[esp+eax*4+400012], esi
je SHORT $L19461
cmp DWORD PTR _a$[esp+eax*4+400016], esi
je SHORT $L19461
cmp DWORD PTR _a$[esp+eax*4+400020], esi
je SHORT $L19461
cmp DWORD PTR _a$[esp+eax*4+400024], esi
je SHORT $L19461
cmp DWORD PTR _a$[esp+eax*4+400028], esi
je SHORT $L19461
add eax, 5
cmp eax, 100000 ; 000186a0H
jl SHORT $L19464
$L19461:

Проверил я и вариант с repne scasd. Точно, медленнее.

Так что я должен с тобой согласиться — неплохо они компилятор сделали. Жаль, у меня Intel compiler не установлен, любопытно было бы сравнить.
With best regards
Pavel Dvorkin
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.