Moose は has でアクセサ定義できるので便利なのですが、アクセサは要はサブルーチンコールなので、パフォーマンス気にして作っているサービスではオーバーヘッドが気になるなぁと思い、ちょっとベンチ取ってみました。 ベンチマーク対象は、Moose で作成したクラスと、Class::Accsessor::Fast で作成したクラスの、アクセサ経由とオブジェクト直でのデータ取得です。ベンチマークコードは以下です。 #!/usr/bin/perl package ClassMoose; use Moose; has 'ro1' => ( is => 'ro', isa => 'Bool', default => 1 ); has 'ro2' => ( is => 'ro', isa => 'Int', default => 1 ); has 'ro3' => ( is => 'ro', isa