Общий 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, если нет фактическая польза для этого...