tokuhirom's Blog

Mouse の起動がはやい理由

http://perl-mongers.org/2010/02/the-fastest-way-to-mastering-moose-and-mouse.html

Class::MOP関連の処理を省いていたり、XSで実装されている部分が多かったりするので、Mouseのロード, インスタンスの生成, Mouseクラスに於ける処理の実行時のいずれもMooseより高速に動作します。

ってかいてある。

ロード速度は単に "Moose constructs internal classes at run time" が遅いってのが最大の問題点で、起動時の速度には XS とか MOP less とかはほとんど寄与してない(と俺はおもってる)。

で、実行時の速度については XS が有効にはたらいていて、gfx++ なわけですが、今後 Moose の開発が安定してきたら Moose にフィードバックされるとおもう。たぶん。きっと。いずれ。

で、本質的に起動が遅いのは、メソッドのコンパイルとかを起動時にやってるからなので、compiled code を distribute すればいいんじゃねーかとおもうんだけど、なんでやらないんだろうね。メンテがめんどいからかな?