- 论坛徽章:
- 0
|
回复 #14 wxlfh 的帖子
呵呵,多谢各位帮忙。
我两天的测试下来,已经有了初步的分析结果,性能的排序大概可以分为如下:
测试条件,文本文件约2000个,共45万行,每行有2百列,其中用到第77,81,85,89,93列,处理环境 Intel某64位处理器,型号不详;内置磁盘;8G内存;操作系统SLES10 SP01
1.ttcn_cu所的正则是表达式法,在到CU发贴前我也比较倾向的方法,处理时间约13秒,缺点是在复杂条件下不太灵活,作为配置项不易读,可维护性差。
2.@F=split(/\|/, $line, 94); 处理时间42秒,处理起来简单可把条件直接作为配置项在if中使用eval来使用。
3.wxlfh 所说的@F = (split /\|/, $line)[@list]; 处理时间42秒,和上一个方法基本一致,估计原理也差不多。
4.@F=split(/\|/, $line); 处理时间58秒,和2,3比较就可以知道分割字符多少对性能影响还是比较大的。
出于综合考虑可能会先用二来实现,后续改为用方法一。
我是从ksh+sed+awk转为使用perl的,后面还要多多请教啊,呵呵。 |
|