Enter sexeger.
Add this to Abigail's benchmark.
aristotle => 'foreach my $f (@files) { my ($fn) = reverse($f) =~ m!^(.*?)/?!s; $fn = reverse $fn; }',
Rate markm abigail markm2 aristotle
markm 39625/s -- -56% -58% -61%
abigail 89688/s 126% -- -4% -11%
markm2 93877/s 137% 5% -- -7%
aristotle 100885/s 155% 12% 7% --
Reversing the string (twice!) may be costly, but the simplicity of the regex offsets this. Note that [^/]+ would have been much slower. .*? has been treated to special optimizations.
Makeshifts last the longest.
In reply to Re^3: file name parsing to get the original file name (regex performance)
by Aristotle
in thread file name parsing to get the original file name
by tja_ariani
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |