在perl中大量的数据 字符串拼接时发现拼接的速度很慢 5000条记录的拼接时间 达到了 300多秒 甚至1000多秒
用的拼接方式如下:
$data_str=$data_str.@col_data[$nnn]."']]";
改为下面这种方式之后性能有了很大的提升 同样的5000条记录 只用了几秒钟
$data_str.=@col_data[$nnn]."']]";
我们观察到 第一种方式 会多创建一次 $data+str的空间,当$data+str不断变长时 速度就会越来越慢
而第二种方式 是直接拼在 $data+str的空间的后面。
PS:
同时 在使用字符串时 能用‘’括起来的静态字符串尽量用‘’ 而不是每个字符串都用""双引号,因为双引号会强制进行转换的检查,会浪费性能。
perl的优化还有几个角度: |