作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
Perl 中的字符串连接有多快?它与第二个操作数的长度成线性关系吗?如果是这样,这个操作是线性的需要满足什么条件?非线性连接时间的例子有哪些?
那么字符串赋值呢?缓冲区的实际副本何时何地发生?
其他操作如子字符串或简单的正则表达式呢?
最佳答案
这是一个非常复杂的问题,答案取决于很多因素(架构、底层操作系统、硬件、Perl 编译标志等)
要获得一个想法,您可以查看用于表示变量的 perl 结构的内部结构。好的来源是perlguts illustrated .
如果您有具体的实现,请尝试对您的代码进行基准测试:
use Benchmark qw(:all);
my $a = "Some string";
my @b = map { "Some string to append " x $_ } (1..10);
cmpthese(-1, {
( map {+ "concat_$_" => sub { my $c = $a . $b[$_] } } (1..10) )
});
上面的东西比较操作 my $c = $a 。 $b
用于第二个参数的不同长度。从结果可以看出,对于这个长度范围,操作大致以线性时间运行。
关于perl - Perl 中的字符串操作有多快?特别是串联和赋值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5388594/
我已经可以在其中输入一些附加文本了mydomain/wiki/Special:UserLogin。我添加了一句话: In order to apply for an account send an m
有人可以解释以下脚本输出背后的逻辑吗? import numpy if(numpy.dtype(numpy.float64) == None): print "Surprise!!!!" 谢谢
是我还是 gmail bulls**t?在 outlook/浏览器上,我的电子邮件是完美的,但在 gmail 上,2 个表之间有一个空间,为什么?!?图片:http://i.imgur.com/srJ
我是一名优秀的程序员,十分优秀!