in reply to Removing leading zeros
#! /usr/bin/perl -w use strict; use Benchmark; my $start = shift; timethese shift, { Add => sub { my $num = $start; $num += 0 }, Regex => sub { my $num = $start; $num =~ s/^0+// }, Sprintf => sub { my $num = $start; $num = sprintf '%d', $num }, };
% perl zero 0000000000000000000000123 2000000
Benchmark: timing 2000000 iterations of Add, Regex, Sprintf...
Add: 10 wallclock secs ( 9.30 usr + 0.00 sys = 9.30 CPU)
Regex: 10 wallclock secs (10.30 usr + 0.00 sys = 10.30 CPU)
Sprintf: 15 wallclock secs (14.39 usr + 0.02 sys = 14.41 CPU)
% perl zero 0123 2000000
Benchmark: timing 2000000 iterations of Add, Regex, Sprintf...
Add: 8 wallclock secs ( 8.77 usr + 0.00 sys = 8.77 CPU)
Regex: 11 wallclock secs ( 9.88 usr + 0.00 sys = 9.88 CPU)
Sprintf: 13 wallclock secs (11.95 usr + 0.00 sys = 11.95 CPU)
|
|---|