相关疑难解决方法(0)

Perl的unpack()是否比substr()更快?

我读过几次unpack()比这更快substr(),特别是随着子串数量的增加.但是,这个基准建议不然.我的基准测试是否存在缺陷,或者是unpack()旧版Perl的保留所谓的性能优势?

use strict;
use warnings;
use Benchmark;

my ($data, $format_string, $n_substrings);

my %methods = (
    unpack => sub { return unpack $format_string, $data },
    substr => sub { return map {substr $data, $_, 1} 0 .. $n_substrings - 1 },
);

for my $exp (1 .. 5){
    $n_substrings = 10 ** $exp;
    print $n_substrings, "\n";
    $format_string = 'a1' x $n_substrings;
    $data          =   9  x $n_substrings;
    Benchmark::cmpthese -2, \%methods;
}
Run Code Online (Sandbox Code Playgroud)

输出(在Windows上):

10
           Rate unpack substr …
Run Code Online (Sandbox Code Playgroud)

perl

14
推荐指数
3
解决办法
4102
查看次数

在Perl中切割字符串

我在Perl中有一个长度为23位的字符串.我需要将它分成不同的部分.一个变量中的前两个数字,另一个变量中的下一个3,另一个变量中的下一个4等等.基本上23个数字最终需要作为6个单独的变量(2,3,4,4,3,7)字符,其中订购.

我有什么想法可以像这样切断字符串?

perl

1
推荐指数
1
解决办法
7588
查看次数

标签 统计

perl ×2