我需要從200萬行的大型csv文件egrep,我想減少egrep時間到0.5秒,這可能嗎?不,我不想數據庫(sqlite3的或MySQL)在這個時候..什麼是最快的egrep
$ time wc foo.csv
2000000 22805420 334452932 foo.csv
real 0m3.396s
user 0m3.261s
sys 0m0.115s
我已經能夠從40秒減少運行時間,以1.75秒
$ time egrep -i "storm|broadway|parkway center|chief financial" foo.csv|wc -l
108292
real 0m40.707s
user 0m40.137s
sys 0m0.309s
$ time LC_ALL=C egrep -i "storm|broadway|parkway center|chief financial" foo.csv|wc -l
108292
real 0m1.751s
user 0m1.590s
sys 0m0.140s
但我想egrep的實時時間不到半秒鐘,任何技巧將不勝感激,文件不斷變化,所以我不能使用任何緩存機制...
grep的可能的運行速度比磁盤系統快可以吐出數據。如果你想要更快的結果,那就換一個更快的磁盤吧。 –
Marc,unix內核會緩存它,而不是磁盤問題 –
在系統上運行'wc foo.csv'需要多少時間?請添加'時間wc foo.csv'。 –