in reply to Re^3: RE on lines read from in-memory scalar is very slow
in thread RE on lines read from in-memory scalar is very slow
for (split /\n/, $longstring) { ... }
ran faster than
open my $fh, '<', \$longstring; while (<$fh>) { .... }
In a perfect world, they would run the same speed (or at least really close). The second one is preferred any time there's a case that you want to run it on a huge file and don't want to load $longstring all into memory at once. The second code solves both cases, but if a majority of your cases are to have it already loaded in memory, then maybe you want to write it the first way for performance.
(If I made a top-level post out of this I'd want to do all the benchmarks and different perl versions, and I'd end up researching the Perl source code and all that, which I don't have time for right now)
|
|---|