コンピュータが命令を実行するのにかかる時間、メモリからワードをフェッチするのにかかる時間(キャッシュがヒットするかどうか)、ディスクから連続したワードを読み取るのにかかる時間、およびディスクを見つけるのにかかる時間
2001年
さまざまな操作の時間は、2001年夏の1GHzパーソナルコンピュータの標準的な構成に基づいています。
運営 | 時間 |
---|---|
単一の命令を実行する | 1ナノ秒 |
L1キャッシュから単語を取得する | 2ナノ秒 |
内から単語にアクセスする | 10 ns |
ディスクから連続して1ワードを取得 | 200 ns |
ディスクのアドレス指定とフェッチ | 8ミリ秒 |
一般的なPCでのさまざまな操作のおおよそのタイミング:
操作 | 時間 |
---|---|
典型的な命令を実行する | 1 / 1,000,000,000秒= 1ナノ秒 |
L1キャッシュメモリからフェッチ | 0.5ナノ秒 |
ブランチの予測ミス | 5ナノ秒 |
L2キャッシュメモリからフェッチ | 7ナノ秒 |
ミューテックスのロック/ロック解除 | 25ナノ秒 |
メインメモリからフェッチ | 100ナノ秒 |
1Gbpsネットワークで2Kバイトを送信する | 20,000ナノ秒 |
メモリから1MBを順次読み取ります | 250,000ナノ秒 |
新しいディスクの場所からフェッチ(シーク) | 8,000,000ナノ秒 |
ディスクから1MBを順次読み取ります | 20,000,000ナノ秒 |
パケットUSをヨーロッパに送り返します | 150ミリ秒= 150,000,000ナノ秒 |
一般的なPCでのさまざまな操作のおおよその時間:
運営 | 時間 |
---|---|
一般的な手順を実行する | 1 / 1,000,000,000秒= 1ナノ秒 |
一次キャッシュからデータを読み取る | 0.5ナノ秒 |
分岐予測エラー | 5ナノ秒 |
二次キャッシュからデータを読み取る | 7ナノ秒 |
相互に排他的なロック/ロック解除 | 25ナノ秒 |
メインメモリからデータを読み取る | 100ナノ秒 |
1Gbpsネットワークで2Kバイトを送信する | 20,000ナノ秒 |
メモリから1MBのデータを順次読み取ります | 250,000ナノ秒 |
新しいディスクの場所(場所)からデータを読み取る | 8,000,000ナノ秒 |
ディスクから1MBのデータを順次読み取ります | 20,000,000ナノ秒 |
米国のヨーロッパに荷物を送り返送する | 150ミリ秒= 150,000,000ナノ秒 |
1985〜2015
1985年から2015年まで、ハードウェア機器の進歩に伴い、アクセス遅延の変化
図1:ディスク、DRAM、CPU速度のギャップ
2020
図2:すべてのプログラマーが知っておくべき待ち時間の数
参考資料
徐Yu-は十年プログラミングを学びます
Peter Norvigがプログラミングを10年で教える
コンピュータシステム:プログラマの視点、3 / E(CS:APP3e)図6.16:ディスク、DRAM、およびCPU速度のギャップ。
すべてのプログラマーが知っておくべき Colin Scottの待ち時間の数
ウィキペディアハードディスクドライブのパフォーマンス特性