Неоднократно слышал, что:
-
leaveмедленнее, чемmov esp, ebp pop ebp -
enter N, 0медленнее, чемpush ebp mov ebp, esp sub esp, N -
stosdмедленнее, чемmov [es:edi], eax add edi, 4 -
repne scasbмедленнее, чем наивный strchr()
и так далее.
Вопрос: почему? Не похрен ли, одна команда развернётся в 10 микроопераций или четыре команды развернутся в столько же? В первом случае даже нагрузка на декодер меньше.















