![]() |
![]() |
8 Einträge, 1 Seite |
1 2 3
my $string = "aaa - bbb"; my ($part) = $string =~ m/^([^-]*)/; print $part;
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
use strict; use warnings; use Benchmark qw(cmpthese); my $klein = 'alpha - beta'; cmpthese (0, { m_klein => sub { my ($part) = $klein =~ m/^([^-]*)/; }, split_klein => sub { my ($part) = split /-/,$klein,2; }, }); my $gross = 'alpha - ' . 'beta' x 10000; cmpthese (0, { m_gross => sub { my ($part) = $gross =~ m/^([^-]*)/; }, split_gross => sub { my ($part) = split /-/,$gross,2; }, });
1
2
3
4
5
6
Rate m_klein split_klein
m_klein 656550/s -- -21%
split_klein 834204/s 27% --
Rate split_gross m_gross
split_gross 38948/s -- -53%
m_gross 82317/s 111% --
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
use strict;
use warnings;
use Benchmark qw(cmpthese);
my $klein = 'alpha - beta';
cmpthese (0, {
m_klein => sub {
my ($part) = $klein =~ m/^([^-]*)/;
},
split_klein => sub {
my ($part) = split /-/,$klein,2;
},
mit_index => sub {
my $part = substr($klein,0,index($klein, "-"));
}
});
my $gross = 'alpha - ' . 'beta' x 10000;
cmpthese (0, {
m_gross => sub {
my ($part) = $gross =~ m/^([^-]*)/;
},
split_gross => sub {
my ($part) = split /-/,$gross,2;
},
mit_index => sub {
my $part = substr($gross,0,index($gross, "-"));
}
});
1
2
3
4
5
6
7
8
9
Rate m_klein split_klein mit_index
m_klein 302083/s -- -12% -82%
split_klein 344837/s 14% -- -79%
mit_index 1653727/s 447% 380% --
Rate split_gross m_gross mit_index
split_gross 41553/s -- -18% -98%
m_gross 50924/s 23% -- -97%
mit_index 1764431/s 4146% 3365% --
![]() |
![]() |
8 Einträge, 1 Seite |