Created
January 18, 2010 04:15
-
-
Save nihen/279776 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Benchmark: running data_recursive, data_rmap, data_visitor for at least 1 CPU seconds... | |
data_recursive: 2 wallclock secs ( 1.01 usr + 0.00 sys = 1.01 CPU) @ 17970.30/s (n=18150) | |
data_rmap: 1 wallclock secs ( 1.00 usr + 0.00 sys = 1.00 CPU) @ 7168.00/s (n=7168) | |
data_visitor: 1 wallclock secs ( 1.02 usr + 0.00 sys = 1.02 CPU) @ 6200.00/s (n=6324) | |
Rate data_visitor data_rmap data_recursive | |
data_visitor 6200/s -- -14% -65% | |
data_rmap 7168/s 16% -- -60% | |
data_recursive 17970/s 190% 151% -- |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
use warnings; | |
use utf8; | |
use Encode; | |
use Benchmark qw(:all); | |
use Data::Visitor::Encode; | |
use Data::Recursive::Encode; | |
use Data::Rmap (); | |
my $sample = sub { { key => ["これはサンプルです","これはサンプルです"] } }; | |
use Devel::Peek; | |
my $cmp = timethese( | |
-1, | |
{ | |
data_recursive => sub { | |
my $sample = $sample->(); | |
my ($s) = Data::Recursive::Encode->encode_utf8($sample); | |
}, | |
data_visitor => sub { | |
my $sample = $sample->(); | |
Data::Visitor::Encode->encode('utf8', $sample); | |
}, | |
data_rmap => sub { | |
my $sample = $sample->(); | |
Data::Rmap::rmap { $_ = Encode::encode_utf8($_) } $sample; | |
}, | |
} | |
); | |
cmpthese $cmp; |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment