【きゃっしゅひっと】

キャッシュヒット とは?

公開:
💡 欲しいものが手元にある、最高の瞬間
📌 このページのポイント
キャッシュヒット CPU 要求 キャッシュ データあり! 高速! メインメモリ アクセス不要 キャッシュにデータがある → すぐ取得できる(高速) = キャッシュヒット
キャッシュヒットのイメージ
ひよこ ひよこ
キャッシュヒットって何なの?
ペンギン先生 ペンギン先生
データを取りに行ったとき、キャッシュにそのデータがちゃんとあった状態のことだよ。図書館で言えば、探している本が手元の棚にすぐ見つかった感じだね。
ひよこ ひよこ
見つからないときもあるの?
ペンギン先生 ペンギン先生
あるよ。キャッシュにデータがないときは「キャッシュミス」と言って、もっと遅いメインメモリやディスクまで取りに行かないといけないんだ。だからヒットするかどうかで速度が大きく変わるんだよ。
ひよこ ひよこ
どのくらい速さが違うの?
ペンギン先生 ペンギン先生
CPUのL1キャッシュにヒットすれば1ナノ秒くらいで取れるけど、メインメモリだと100ナノ秒、ディスクだと数ミリ秒もかかる。桁が全然違うんだよ。
ひよこ ひよこ
ヒット率を上げるにはどうすればいいの?
ペンギン先生 ペンギン先生
キャッシュのサイズを大きくしたり、よく使うデータを優先的に残すアルゴリズム(LRUなど)を使ったりするんだ。プログラムのデータアクセスパターンを工夫するのも効果的だよ。
ひよこ ひよこ
ヒット率ってどのくらいが普通なの?
ペンギン先生 ペンギン先生
CPUのL1キャッシュだと95%以上が普通で、Webのキャッシュでも80%以上を目指すことが多いよ。ヒット率が1%上がるだけで体感速度が変わることもあるから、パフォーマンスチューニングではとても重要な指標なんだよ。
ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「キャッシュヒット」って出てきたら「キャッシュにデータがあって高速に取り出せた」と思えればだいたいOK!
📖 おまけ:英語の意味
「Cache Hit」 = キャッシュ命中
💬 cache(貯蔵庫)に hit(命中)した、つまり探していたデータが見つかったという意味だよ
← 用語集にもどる