快些,在快些,perl的小优化
浏览:3221次 出处信息
一个小程序的简单优化,经过大师指点后速度的分别
[root@localhost ~]# time cat 5000 |perl check.pl >/tmp/b real 5m59.953s user 5m59.956s sys 0m0.105s [root@localhost ~]# time cat 5000 |perl check1.pl >/tmp/a real 0m0.134s user 0m0.111s sys 0m0.030s
下面是程序优化后的check.pl
#!/usr/bin/perl use strict; use warnings; open A,"<a>){ my ($md5,$ip) = split; $hash{$md5} = $ip; } while (<>){ my $line = $_; if( /http:\/\/[\w.]+\/\d+\/(\w+)\// ){ if( exists $hash{$1}){ print $line."\n"; } } } </a>
<a>#!/usr/bin/perl use strict; use warnings; open A,"</a><a>){ my ($md5,$ip) = split; $hash{$md5} = $ip; } while (<>){ my $line = $_; foreach my $md5 ( keys %hash){ if($line =~ /$md5/){ print $line."\n"; } } } </a>
在logan中有1W的记录.cat时有5k的行.发现正则的性能实在太好,然后使用keys来取hash查所有的表,反到性能不好,但是查是否存在,hash优化的相当于的不错.
建议继续学习:
- WEB系统需要关注的一些点 (阅读:16901)
- 30分钟3300%性能提升――python+memcached网页优化小记 (阅读:13112)
- perl更新/修改/删除文本文件内容 (阅读:10183)
- 基于SSD的数据库性能优化 (阅读:8236)
- jQuery性能优化指南 (阅读:8250)
- perl大牛flw传说 (阅读:7153)
- perl模块Getopt::Std用法及实例-从命令行读取参数模块 (阅读:6568)
- 一次简单C程序的性能优化 (阅读:6344)
- [Perl] Template::Toolkit 模板技术. (阅读:5909)
- mysql sql 百万级数据库优化方案 (阅读:5726)
QQ技术交流群:445447336,欢迎加入!
扫一扫订阅我的微信号:IT技术博客大学习
扫一扫订阅我的微信号:IT技术博客大学习
<< 前一篇:perl的写excel文件
后一篇:在perl中连接和使用sqlite做数据存储 >>
文章信息
- 作者:扶凯 来源: 扶凯
- 标签: perl 优化 速度
- 发布时间:2009-12-21 12:24:39
建议继续学习
近3天十大热文
-
[895] WordPress插件开发 -- 在插件使用 -
[136] 解决 nginx 反向代理网页首尾出现神秘字 -
[56] 整理了一份招PHP高级工程师的面试题 -
[54] Innodb分表太多或者表分区太多,会导致内 -
[53] 如何保证一个程序在单台服务器上只有唯一实例( -
[53] 用 Jquery 模拟 select -
[52] 海量小文件存储 -
[52] CloudSMS:免费匿名的云短信 -
[52] 全站换域名时利用nginx和javascri -
[52] 分享一个JQUERY颜色选择插件
