Variable::Magic と Tie::Scalar
なんとなくやってみた
package TestTie; use strict; use warnings; require Tie::Scalar; use vars qw/@ISA/; @ISA = qw/Tie::StdScalar/; sub FETCH { 123 } package main; use strict; use warnings; use Variable::Magic qw/wizard cast/; use Benchmark; tie my $tied, 'TestTie', 123; warn $tied; my $wiz = wizard get => sub { ${$_[0]} = 123 }; my $magic; cast $magic, $wiz; warn $magic; Benchmark::cmpthese(3000000, { 'tie' => sub { my $foo = $tied * 123 }, 'magic' => sub { my $foo = $magic * 123 }, });
結果
% perl tie.pl
123 at tie.pl line 21.
123 at tie.pl line 26.
Rate tie magic
tie 426136/s -- -20%
magic 531915/s 25% --
created by blog.nomadscafe.jp
コメント
コメントはありません
コメントを投稿
コメントを投稿するにはログインが必要です