加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

Perl :三种IP转整型的方法的速度测试

发布时间:2020-12-16 00:17:29 所属栏目:大数据 来源:网络整理
导读:? 测试环境: CentOS release 4.7? perl,v5.8.5 测试代码: print?scalar?localtime;? print?“n”;? for ?(my? $i =0; $i 10000000; $i ++)? {? ? #?方法一:使用pack? ? $a ?=?unpack(’N*’,?pack(’C4′,?split(/./,?‘193.168.20.3′)));? ? #?方式二:

?测试环境:

CentOS release 4.7?
perl,v5.8.5

测试代码:

 
 
  1. print?scalar?localtime;?
  2. print?“n”;?
  3. for?(my?$i=0;$i<10000000;$i++)?
  4. {?
  5. ?
  6. #?方法一:使用pack?
  7. ?
  8. $a?=?unpack(’N*’,?pack(’C4′,?split(/./,?‘193.168.20.3′)));?
  9. ?
  10. #?方式二:使用正则加四则运算?
  11. ?
  12. #’193.168.20.2′?=~?/(d+).(d+).(d+).(d+)/;?
  13. ?
  14. #$a?=?$1?*?256**3?+?$2?*?256**2?+?$3?*?256?+?$4;?
  15. ?
  16. #?方式三:使用Split加四则运算?
  17. ?
  18. #($a,$b,$c,$d)?=?split(/./,’193.168.20.2′);?
  19. ?
  20. #$e?=?$a?*?256**3?+?$b?*?256**2?+?$c?*?256?+?$d;?
  21. ?
  22. }?
  23. print?scalar?localtime;?
  24. print?“n”;?

?

测试结果:
方法一(33s):
[root@localhost tmp]# perl 123.pl
Wed Jul 15 14:22:08 2009
Wed Jul 15 14:22:41 2009
内存占用:1456

方法二(44s):
[root@localhost tmp]# perl 123.pl
Wed Jul 15 14:21:05 2009
Wed Jul 15 14:21:49 2009

内存占用:1488

方法三(31s):
[root@localhost tmp]# perl 123.pl
Wed Jul 15 14:36:05 2009
Wed Jul 15 14:36:36 2009
内存占用:1436?

split加四则运算方法略胜出。

有点意外的是pack的开销居然和正则引擎接近俄。

转自http://blog.yikuyiku.com/?p=1004

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读