nDiki : Perl CGI プログラムの高速化

Perl CGI プログラムの高速化

Perl スクリプトのコンパイル回数を減らす

SpeedyCGI を使うと Perl スクリプトのコンパイル回数を減らすることができる。

計算結果をキャッシュし、各CGI プログラムで再利用する

キャッシュサーバを使う

Perl から簡単に使えるキャッシュサーバとして Memcached がある。

API としては Cache::Memcached がある。複数同時読み書きのための lock 機構はなし。 自動的に expire できる。

mmap でキャッシュする - Cache::FastMmap

1.01 は Perl 5.8 以上が必要。 同モジュールのドキュメントに他のモジュールとの比較が書かれている。 複数の読み書きのための lock機構無。

mmap でキャッシュする - Cache::Mmap

複数の読み書きのための lock機構無。

共有メモリキャッシュする - IPC::SharedCache

共有メモリを使用するキャッシュ。 データを取得時にキャッシュになければ、ロードコールバック関数が呼ばれて実データがキャッシュされるタイプ。 既にキャッシュにある場合はまず有効性チェックコールバック関数が呼ばれ有効であればキャシュが返される。 IPC::ShareLite を使用する。 max_size を越えると古いものから削除される。

共有メモリを自分で使用する

IPC::ShareLite

共有メモリモジュール。一部Cで書かれている。Perl 5.005_03 でも動作する。複数の読み書きのための lock 機構有。

IPC::Sharable

共有メモリモジュール。tie インタフェースが提供される。 データはStorable により自動的にシリアライズされる。Perl 5.005_03 でも動作する。 複数の読み書きのための lock 機構有。

mmap を使用する

Sys::Mmap

ロック機能無し?

スポンサード リンク

no diary

About Me

Naney Naney (なにい)です。株式会社ミクシィで SNS 事業の部長をしています。

nDiki1999年1月に始めたコンピュータ日誌を前身とする NaneyWeb 日記(兼パーソナルナレッジベース)です。ちょっとしたノートは nNote にあります。

※内容は個人的見解であり所属組織とは関係ありません。

月別インデックス
Process Time: 0.059784s / load averages: 0.44, 0.60, 0.61
nDiki by WATANABE Yoshimasa (Naney)
Powered by DiKicker