in reply to Re^2: Performance problems on splitting long strings
in thread Performance problems on splitting long strings
Why then did you not bother to write a few lines like:
use strict; use warnings; use Benchmark 'cmpthese'; my $string = map { ('a'..'z')[rand 26] } 1..30; my @sub_fields; cmpthese( -1, { regex1 => sub { @sub_fields = $string =~ /\w{5}/g }, regex2 => sub { @sub_fields = $string =~ /.{5}/g }, unpack => sub { @sub_fields = unpack '(A4)*', $string }, substr => sub { @sub_fields = map { substr $string, 5*$_, 5 + } 0..length( $string )/5-1 }, });
that already shows that the regex idea is vastly inferior:
Rate substr unpack regex1 regex2 substr 696486/s -- -57% -94% -94% unpack 1603093/s 130% -- -85% -86% regex1 10731041/s 1441% 569% -- -4% regex2 11165392/s 1503% 596% 4% --
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^4: Performance problems on splitting long strings
by Cristoforo (Curate) on Jan 30, 2014 at 20:42 UTC | |
by hdb (Monsignor) on Jan 30, 2014 at 20:53 UTC | |
|
Re^4: Performance problems on splitting long strings
by Not_a_Number (Prior) on Jan 30, 2014 at 20:57 UTC | |
|
Re^4: Performance problems on splitting long strings
by Laurent_R (Canon) on Jan 30, 2014 at 22:35 UTC | |
by AnomalousMonk (Archbishop) on Jan 31, 2014 at 22:57 UTC | |
by Laurent_R (Canon) on Feb 01, 2014 at 00:55 UTC | |
by hdb (Monsignor) on Jan 31, 2014 at 07:33 UTC | |
by Laurent_R (Canon) on Jan 31, 2014 at 18:41 UTC |