November 03, 2006

svk を当社比100倍高速化する方法

svk を使っているときの最大の不満は、ローカルのミラーレポジトリが大きくなるにつれ各種操作、とくに checkout と commit が遅くなってくること。

既知の問題だとおもっていたんですが、plagger のリリースに15分くらいかかるようになったのでたまらず #perl6 で clkao をつかまえてクレーム。「そんな遅いはずはないので Devel::DProf で dprofpp の結果おくってよ」とのこと。さっそくやってみるとほとんどが Data::Hierarchy の _ancestors 関数でした。

というわけで clkao が Data::Hierarchy 0.32 をリリースしてくれた。Changes に "Workaround various performance issues. The real fix will be in 0.40." とある通りまだ完全ではないようですが、かなり速くなってます。ためしに Plagger の trunk を checkout したら15秒でおわりました。また、svk 自体を svn 最新 でビルドするのも効果があるようです。

Devel::DProf はどの部分がボトルネックになっているのか調査するにはとても便利。こういうテクニックは Perl Hacks が一番いいかな。

Perl Hacks: Tips & Tools for Programming, Debugging, And Surviving (Hacks)
Damian Conway Curtis Poe Chromatic
Oreilly & Associates Inc
Posted by miyagawa at November 3, 2006 10:24 PM | Permalink | Comments (0) | TrackBack(0)
Comments
Trackbacks
TrackBack URL for this entry: http://blog.bulknews.net/mt3/mt-tb.cgi/2024
Post a comment