日本搞逼视频_黄色一级片免费在线观看_色99久久_性明星video另类hd_欧美77_综合在线视频

國內(nèi)最全I(xiàn)T社區(qū)平臺 聯(lián)系我們 | 收藏本站
阿里云優(yōu)惠2
您當(dāng)前位置:首頁 > php開源 > 綜合技術(shù) > Perl和Python的比較(主要是性能比較)

Perl和Python的比較(主要是性能比較)

來源:程序員人生   發(fā)布時間:2015-05-08 08:07:51 閱讀次數(shù):7363次

Python語法簡單,而且通過縮進(jìn)的方式來表現(xiàn)層次結(jié)構(gòu),代碼非常簡明易懂,對初學(xué)者來講,比較容易上手。

Perl的模式匹配非常強(qiáng)大,同時匹配的符號有很多種,難以瀏覽和保護(hù)。

在文本處理方面,python通過加載re模塊來實(shí)現(xiàn)模式匹配的查找和替換。而Perl內(nèi)置就有模式匹配功能。

note:內(nèi)置命令和外部命令的區(qū)分。

通過代碼來直接做比較。

python版:

#!/usr/bin/python import re import fileinput exists_re = re.compile(r'^(.*?) INFO.*Such a record already exists', re.I) location_re = re.compile(r'^AwbLocation (.*?) insert into', re.I) for line in fileinput.input(): fn = fileinput.filename() currline = line.rstrip() mprev = exists_re.search(currline) if(mprev): xlogtime = mprev.group(1) mcurr = location_re.search(currline) if(mcurr): print fn, xlogtime, mcurr.group(1)

Perl版:

#!/usr/bin/perl while (<>) { chomp; if (m/^(.*?) INFO.*Such a record already exists/i) { $xlogtime = $1; } if (m/^AwbLocation (.*?) insert into/i) { print "$ARGV $xlogtime $1 "; } }

time process_file.py *log  > summarypy.log

real   0m8.185s

user  0m8.018s

sys    0m0.092s

time process_file.pl  *log > summaypl.log

real    0m1.481s

user   0m1.294s

sys     0m0.124s

在文本處理方面,Perl 比Python快8倍左右

所以在處理大文件如大日志方面,用perl更好,由于更快。

如果對速度要求不是很嚴(yán)格的話,用python更好,由于python簡潔易懂,容易保護(hù)和瀏覽。

為何在文本處理時,Perl比Python快很多呢?

這是由于Perl的模式匹配是其內(nèi)置功能,而Python需要加載re模塊,使用內(nèi)置命令比外部命令要快很多。

內(nèi)置命令和外部命令的區(qū)分

Linux命令有內(nèi)置命令和外部命令之分,功能基本相同,但是調(diào)用有些細(xì)微差別。
內(nèi)置命令實(shí)際上是shell程序的1部份,其中包括的是1些簡單的linux系統(tǒng)命令,這些命令在shell程序辨認(rèn)并在shell程序內(nèi)部完成運(yùn)行,通常在linux系統(tǒng)加載運(yùn)行時shell就被加載并駐留在系統(tǒng)內(nèi)存中。內(nèi)部命令是設(shè)在bash源代碼里面的,其履行速度比外部命令快,由于解析內(nèi)部命令shell不需要創(chuàng)建子進(jìn)程,比如exit,cd,pwd,echo,history等。
外部命令是linux系統(tǒng)中的實(shí)用利用程序,由于實(shí)用程序的功能通常比較強(qiáng)大,其包括的程序量也很大,在系統(tǒng)加載的時候其實(shí)不隨系統(tǒng)1起被加載到內(nèi)存中,而是在需要的時候才將其調(diào)入內(nèi)存。通常外部命令的實(shí)體其實(shí)不包括在shell中,但是其命令履行進(jìn)程是由shell程序控制的。shell程序管理外部命令履行的路徑查找,加載寄存,并控制命令的履行。外部命令是在bash以外額外安裝的,通常放在/bin, /usr/bin, /sbin,  /usr/sbin,....等。

用type命令可以分辨內(nèi)部命令與外部命令。


生活不易,碼農(nóng)辛苦
如果您覺得本網(wǎng)站對您的學(xué)習(xí)有所幫助,可以手機(jī)掃描二維碼進(jìn)行捐贈
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關(guān)閉
程序員人生
主站蜘蛛池模板: 国产精品区一区二区三 | 亚洲精品成人av | 99久久精品国产一区二区三区 | 中文字幕日韩高清 | 国产黄在线 | 欧美性受xxxx黑人xyx | 免费成人高清在线视频 | 国产成人精品一区二区三区在线 | 国产精品一区在线播放 | 国产专区一区二区三区 | 日本第一区 | 国产亚洲欧美另类一区二区三区 | 免费黄色在线网站 | 中国一级片在线 | 久久久久久高清 | 欧美一区二区网站 | 91久久久久久久 | 精品成人在线视频 | 中文字幕一区三区 | 精品国产一区二区三区性色av | 日韩免费高清 | 亚洲国产高清视频 | 亚洲成人网av | 国产精品成人在线观看 | 国产黄色大片在线观看 | 日韩成人资源 | 日韩成人小视频 | 三级视频在线播放 | 成人免费乱码大片a毛片视频网站 | 国内精品一区二区三区 | 欧洲精品一区 | 欧美九九 | 热re99久久精品国产99热 | 国产嫩草一区二区三区在线观看 | 国产成人精品在线观看 | 亚洲网在线 | 精品久久一区 | 国产欧美日韩综合 | 能看的av| 韩国三级日本三级少妇99 | 免费一区|