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

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

About nDiki

nDiki1999年1月に始めたコンピュータ日誌を前身とする NaneyWeb 日記(兼パーソナルナレッジベース)です。

#nNote タグがついている記事は他の記事に比べて、より断片的・未整理・不完全なちょっとしたノートです。まだ結論に至っていない考えなども含まれます。頻繁/大幅に更新したり削除したりすることがあります。

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

Other Notes

ナレッジベースアプリケーション Obsidian で書いているノートの一部を notes.naney.org で 公開しています。

月別インデックス
Process Time: 0.060127s / load averages: 0.52, 0.48, 0.43
nDiki by WATANABE Yoshimasa (Naney)
Powered by DiKicker