Общий widsom заключается в том, что rep movsb
намного медленнее, чем rep movsd
(или на 64-разрядной, rep movsq
) при выполнении идентичных операций. Тем не менее, я тестировал несколько современных машин, и время выполнения выходит одинаково (вплоть до шумов измерений) в огромном диапазоне размеров буфера (от 10 до 2 мегабайт). Пока что я только что протестировал на двух машинах (32-разрядный Intel Atom D510 и 64-разрядный AMD FX 8120).
-
Существуют ли современные x86 (32- или 64-разрядные) машины, где
rep movsb
медленнее, чемrep movsd
(илиrep movsq
)? -
Если нет, то какая была последняя машина, где разница была значительной, и насколько она была значительна?
Я задаю этот вопрос с точки зрения необходимости избегать грубого кулинарного тестирования, чтобы разбить память на непривязанную голову/хвост и выровненную середину ради использования rep movsd
или rep movsq
, если нет фактическая польза для этого...