tokuhirom's blog.

'; DROP DATABASE database();

loading time Moose vs Mouse

http://blog.perlassociation.org/2009/07/jpa-sponsors-moose-class-mop-work.html
JPA sponsored gfx's Moose optimization.The entry says Moose's loading time makes 20% faster.
I take a current speed and memory usage.

loading Time

@my macbook

Moose 0.87, Mouse 0.27, Class::MOP 0.89

% time perl -MMoose -e0
perl -MMoose -e0  0.27s user 0.05s system 18% cpu 1.661 total
% time perl -MClass::MOP -e0
perl -MClass::MOP -e0  0.10s user 0.02s system 73% cpu 0.153 total
% time perl -MMouse -e0
perl -MMouse -e0  0.03s user 0.01s system 72% cpu 0.054 total

20% はやくなっても 0.27s → 0.21s なので、コマンドラインのプログラムではまだまだストレスフルだ。

Memory Usage

リクエストにおこたえしてメモリの使用量も。macbook で GTop がうまくうごかなかったので、linux box での結果。

gp% perl -MGTop -E 'say GTop->new->proc_mem($$)->size'
7372800
gp% perl -MGTop -E 'package F; use Moose;say GTop->new->proc_mem($$)->size'                                  
12357632
gp% perl -MGTop -E 'package F; use Mouse;say GTop->new->proc_mem($$)->size'                                           
8077312
gp% perl -MGTop -E 'package F; use Class::MOP;say GTop->new->proc_mem($$)->size'                                                                     
9592832