Top.Mail.Ru
Ответы

Сравнение времени обращения к внешней памяти и времени выполнения арифметических операций

Во сколько раз (примерно) скорость выполнения обычных арифметических операций, либо операций типа "переприсвоить указатель" выше, чем чтение данных с внешней памяти?

Дополнен

Мне бы порядок. 10, 100, 1000, 10000 раз. Хотя бы примерно. Диапазон там.

По дате
По рейтингу
Аватар пользователя
Мыслитель
8лет

зависит от системы на который выполняется, если код условно "идеален"

но обращение к регистру должно быть значительно быстрее, чем обращение к озу

Аватар пользователя
Гений
8лет

Ну, где-то примерно в миллион раз, если говорить о первичном доступе к отдельным сильно разбросанным данным - время позиционирования головки на произвольный участок жесткого диска порядка единиц миллисекунд. Однако обычно данные читаются большими пакетами и тогда скорость определяется фактически интерфейсом диска, то есть где-то на порядок-два отстает от скорости оперативной памяти. Кроме того, надо иметь в виду, что и диски сейчас с кешем, и у процессора имеются кеши для часто используемых данных, да еще обычно и многоуровневые, так что часто данные уже подготовлены про запас в кеше, а если в кеше процессора, то даже в оперативную память лезть не надо.