Entry tags:
Правильный выбор регулярок
# perl -MBenchmark=cmpthese -le 'print "Perl $^V"; $a = "AAA"; cmpthese($ARGV[0], {
''A+'' => sub { $a =~ s#^\s+##; $a =~ s#\s+$##; $a =~ s#A#B#g; $a =~ s#B#A#g; $a },
''A*'' => sub { $a =~ s#^\s*##; $a =~ s#\s*$##; $a =~ s#A#B#g; $a =~ s#B#A#g; $a },
''B+'' => sub { return $a =~ s#^\s+##r =~ s#\s+$##r =~ s#A#B#gr =~ s#B#A#gr },
''B*'' => sub { return $a =~ s#^\s*##r =~ s#\s*$##r =~ s#A#B#gr =~ s#B#A#gr } })' 10000000
Perl v5.22.1
Rate A* B* A+ B+
A* 424448/s -- -15% -36% -47%
B* 501253/s 18% -- -25% -37%
A+ 666223/s 57% 33% -- -16%
B+ 794913/s 87% 59% 19% --
