オブジェクト・キャッシュ

提供: MonoBook
ナビゲーションに移動 検索に移動

オブジェクト・キャッシュとは、一部のオブジェクト指向プログラミング言語のランタイムに内蔵されている「オブジェクト生成を高速化する機能」です。

あるオブジェクトを生成する際にコンストラクタまで実行した状態のコピーをメモリの空きスペースにキャッシュしておくというもので、キャッシュがある場合はコンストラクタの実行を省けるというものです。ちなみにPHPではソースコードから変換した中間コードもキャッシュ対象で、その保存先はメモリだけでなくファイルデータベース、さらにはMemcachedなどでサーバー間でも共有するなどといった方法も利用できます。

オブジェクトキャッシュはオブジェクト生成を頻繁に繰り返す場面では効果が高い。塵も積もれば山となるというものです。とくにウェブサーバーのような「1ページが1オブジェクト+α」「1アクセスごとに1オブジェクトを生成」する用途では塵も積もりやすいようです。

オブジェクトキャッシュは「プログラミング言語を作るプログラマー」が意識すべきものであり、プログラミング言語を利用するだけのプログラマーが意識することはほとんどありません。ただほとんどのプログラミング言語には明示的にオブジェクトキャッシュを制御するなんらかの手法が用意されています。なお、そんなものを意識してプログラミングして工数を激増させるくらいなら高性能なサーバーを買って力まかせにぶん回した方が安上がりなことが多いです。

関連項目[編集 | ソースを編集]