Как быстро работает компьютер

Дарья Матвеева · January 5, 2024

C какой скоростью работает компьютер? Примерные цифры - в таблице.

Latency Comparison Numbers

Действие ns us ms  
L1 кэш - чтение 0.5      
Ошибочное предсказание ветви (*) 3      
L2 кэш - чтение 4     8x L1 cache
Захват/освобождение мьютекса 17      
Оперативная память - чтение 100     25x L2 cache, 200x L1 cache
Передача 1Кбайт по сети с пропускной способностью 1 Gb 10,000 10    
Считать рандомно 4K с SSD 150,000 150   ~1GB/sec SSD
Cчитать 1 MB последовательно из основной памяти 250,000 250    
Round trip в пределах одного датацентра (*) 300,000 500    
Считать последовательно 1 MB с SSD 1,000,000 1,000 1 ~1GB/sec SSD, 4X memory
Считать из постоянной памяти (диска) 10,000,000 10,000 10 20x datacenter roundtrip
Считать 1 MB последовательно из постоянной памяти (диска) 20,000,000 20,000 20 80x memory, 20X SSD
Трансконтинентальная передача TCP-пакета US->Europe->US 150,000,000 150,000 150  

https://gist.github.com/GLMeece/b00c9c97a06a957af7426b1be5bc8be6

  • 1 ns = 10^-9 секунд
  • 1 µs = 10^-6 секунд = 1,000 ns
  • 1 ms = 10^-3 секунд = 1,000 µs = 1,000,000 ns

Ошибочное предсказание ветви (branch mispredict) — ситуация, когда процессор видит ветвление, и пытается догадаться, каким путём пойдёт программа, но ошибается. Тогда ему требуется время на удаление инструкций ветви и загрузку инструкций другой ветви.

Round trip в пределах одного датацентра - передача данных от одной машины к другой и обратно в пределах одного датацентра.

Для сравнения:

Действие    
За какое время человеческий глаз воспринимает изображение 13 ms
Моргание глазами 100 ms
Время взаимодействия глаз - компьютерная мышь 200 ms

Эти же цифры в виде диаграммы:

https://colin-scott.github.io/personal_website/research/interactive_latency.html

Чтобы лучше воспринять масштаб, инфографика с аналогиями, понятными человеку, здесь:

https://gist.github.com/hellerbarde/2843375?permalink_comment_id=1896153#gistcomment-1896153

И в завершение, игра на понимание скорости исполнения кода:

https://computers-are-fast.github.io/

VK, Telegram