tokuhirom's Blog

Cache::KyotoTycoon released

http://search.cpan.org/dist/Cache-KyotoTycoon/

KyotoTycoon の Perl 用クライアントライブラリをだしました。

といったところを重視してつくってあります。

TSVRPC::Client も同梱してあり、基本的にこれを利用してアクセスするようになっています。KT 仕様の TSVRPC を採用するアプリが他にもでるようなら、別 dist にわけます。今は管理の都合上、一つの dist で配布した方が楽なのでそうしています。わけてほしい人がいたらいってください。

Cache::KyotoTycoon は HTTP based protocol を採用していますので、HTTP client library を使う必要がありましたが、ここでは WWW::Curl 経由で libcurl を利用しています。なぜならば、LWP は遅いから。通常の利用では、インターフェースがつかいやすい LWP をつかった方が得策なのですが、今回の場合、HTTP アクセスは内部の処理なので、インターフェースよりも速度を優先しました。LWP をつかうと数倍おそいです。

速度面についてですが、同一ホスト内からの 1プロセスからのリクエストで 5000reqs/sec 以上でているので、よいのではないかとおもいます。

プロファイラによると libcurl の中での処理にほとんどの時間をとられているので、これ以上の速度をもとめるのであれば

といったあたりになるかとおもいます。個人的には、XS をかくのはあまりやる気がしませんが、誰かやりたい人がいれば patches welcome です。