tokuhirom@株主の日記 このページをアンテナに追加 RSSフィード

 | 

2010-05-07

Plack::Request#uri をキャッシュしつつ、ちゃんと expire もできる実装について考える 01:52 Plack::Request#uri をキャッシュしつつ、ちゃんと expire もできる実装について考える - tokuhirom@株主の日記 を含むブックマーク

Plack::Request の現在の実装では、uribase を一切キャッシュしておらず、これらのメソッドを多様すると、URI オブジェクトの生成コストが支配的となってしまうことがある(実際に、私のプロジェクトでこの問題が発生した)。

そこで、Variable::Magic を利用し、データの変更時にキャッシュを clear するようにしつつ、キャッシュをおこなうようにしてみた。

さて、いかがだろうか。なお、ベンチ結果はいかのとおり。

          Rate  orig  fast
orig   15582/s    --  -99%
fast 1048176/s 6627%    --
tifier
 |