DBIC 遅い
DBIC のプラグイン機構は Class::C3 が使われています。これは何をするものかというと,多重継承したクラスでのメソッドの呼び出し順序を Perl 標準のではなくわりとメジャーな順序にするという…って自分でも何をいっているかわかりませんが,ともかくそれを使っているわけです。んで,前も書きましたけど DBIC で実装されたスキーマは読み込み時(use や require 時)にすごく時間がかかるわけですが,これはプロファイルとればわかるんですがその Class::C3 というか Algorithm::C3 部分のせいです。メソッド呼び出し順序を決定するために再帰をつかいまくっているんで呼び出され回数が膨大なことになっています。
で,噂によると高速化するパッチがあるらしいですが…はたしてどんなものだか。
暇ができたら Algorithm::C3::XS みたいなの書きたいなぁと思っていたんですがそういうアプローチではないのかな。