in reply to Trimming whitespaces methods
use strict; use warnings; use Benchmark q{cmpthese}; my @arr = ( q{ fdsgehw fw wwfe w } ) x 5000; cmpthese( -5, { alternation => sub { my @new = @arr; s{ ^\s* | \s*$ }{}gx for @new; }, capture => sub { my @new = @arr; s{ ^\s* (\S.*?) \s*$ }{$1}x for @new; }, twoStage => sub { my @new = @arr; s{ ^\s* }{}x for @new; s{ \s*$ }{}x for @new; }, }, );
The results.
Rate capture alternation twoStage capture 8.96/s -- -26% -50% alternation 12.2/s 36% -- -33% twoStage 18.1/s 102% 48% --
I hope this is of interest.
Cheers,
JohnGG
Update: Fixed code indentation problems caused by TABs
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^2: Trimming whitespaces methods
by lodin (Hermit) on Jun 30, 2008 at 17:02 UTC | |
by johngg (Canon) on Jun 30, 2008 at 22:33 UTC |