AD (19.01.2006 12:56, просмотров: 1) ответил Ксения на Ответ:
Мне даже стыдно ибо нельзя так подставляться.
Такие слова, как superscalar, latency, scheduling Вам о чем-нибудь говорят? Времена, когда меньшая по размеру программа == более быстрая, давно прошли.
Тело цикла выглядит так (листинг gcc, нотация AT&T):
L22:
addpd (%ecx), %xmm0
addpd 16(%ecx), %xmm1
addpd 32(%ecx), %xmm2
addpd 48(%ecx), %xmm3
addl $64, %ecx
decl %eax
jne L22
Я не утверждаю, что он оптимален, но код был написан за 5 минут и _достаточно_ быстр.
Суммирование массива из 10000 элементов на моем К8 занимает в Вашей версии
40181 40325 40221
в моей
15796 15858 15751
времена в тактах