Re[10]: Comparable ли memory
От: MaximE Великобритания  
Дата: 06.12.04 13:40
Оценка: 10 (2)
LaptevVV wrote:

> Здравствуйте, MaximE, Вы писали:

>
> ME>LaptevVV wrote:
>
> ME>[]
>
>>> Там цепочечная команда рабьотает... До 256к на интеле одной командой...
>
> ME>Но эта команда реально выполняет цикл.
> но без лишних КОМАНД цикла

Вообще, rep stosd/movsd не эффективны, и в оптимизированных реализациях memset/memcpy заменены "лишними" командами цикла. Неэффективность становится заметной на массивах более 256-512 байт, поэтому на небольших массивах компиляторы вставляют intrinsic memset == rep stosd.

Причина неэффективности всех строковых операций в том, что они напрягают memory controller процессора лишь периодическими burst read/write, простаивая на загрузках кэша, в то время как цикл с "лишними" командами постоянно напрягает memory controller, позволяя достичь максимальной практической скорости заполнения/копирования.

--
Maxim Yegorushkin
Posted via RSDN NNTP Server 1.9 delta
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.