キャッシュ(Cache)

コンピュータ上での計算や処理の際、データや計算結果を一時的にすぐに取得できる場所に保管しておき、次回のアクセスを高速化する手法をcaching(キャッシング)という。

キャッシュはキャッシングにおいて一時保存されるデータのことをさす。

具体例

身近な具体例としては などが挙げられる。

局所性(locality)

応用上重要な局所性という概念について記述する。

CPUのキャッシュには局所性2 という概念が存在する。

今使ったものは近いうちにまた使うことになる可能性が高いという性質を時間的局所性(Temporal Locality)という。

実生活における応用

cachingの考えは、目的を達成するにあたってコストが大きい行動の回数を減らして、コストを削減、効率化するという考えに近いものがある。

その意味では、 などもキャッシュの考えを応用した、有限な時間と気力を効率的に運用する戦略と考えることができる。 更に、 などの時間的局所性に着目した応用も可能である。

しかし、理論に裏打ちされているからといって欠点がないわけではない。

スマホをすぐそばに置くことによって、家の中で紛失するというキャッシュミスを体験したことがある者は少なくないだろう。

  1. 容量、アクセス速度が異なるキャッシュが複数搭載されている製品が多い。
    CPUの性能が上がるにつれ、キャッシュミスしたときの遅延が相対的に大きくなるので、どうにかキャッシュヒット率をあげるように努力されているようだ。

    ↩︎
  2. Temporal Locality, Spatial Locality
    Locality of reference

    ↩︎
© 2026 nisety.net