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 YegorushkinPosted via RSDN NNTP Server 1.9 delta