#!/perl/bin/perl # # bench.pl -- use strict; use warnings; use diagnostics; use Benchmark qw(:all); sub caseone { $_ = '|0|0|0|0|0|0|'; s/.//; } sub casetwo { $_ = '|0|0|0|0|0|0|'; substr($_,0,1) = ''; } sub casethree { $_ = '|0|0|0|0|0|0|'; $_ = reverse $_; chop; $_ = reverse $_; } sub casefour { $_ = '|0|0|0|0|0|0|'; $_ = substr($_,1); } cmpthese(-5,{ 'caseone' => 'caseone', 'casetwo' => 'casetwo', 'casethree' => 'casethree', 'casefour' => 'casefour', }); #### Rate caseone casethree casetwo casefour caseone 293156/s -- -12% -21% -32% casethree 331364/s 13% -- -10% -23% casetwo 369954/s 26% 12% -- -14% casefour 430979/s 47% 30% 16% --