廢話不說,直接上圖(第一個是python寫的腳本,第二個和第三個是shell):
文件是一份nginx的log文件,總共583萬行,然後是統計各個ip出現次數,各個腳本的執行時間如上所示。
測試環境是:centos 6.5,四核cpu,8g內存。
下面是python腳本
結果是:單核情況下,awk 自增運算最快,python腳本次之,awk和sort等命令的組合最次,猜測awk 是c/c++寫的,python解釋執行,awk | sort |uniq 的組合,估計哪銜接不好,效率最差。
python的多線程沒測試,以後測試下,再把結果發上來。
ps:不知道python程序是我效率低還是就這樣,如果有更好的寫法,tell me,please。