2011-12-06 30 views
1

我在一臺速度非常快的PC上使用Cygwin,但是當我想要使用grep時,我發現它非常慢。當我想處理一個大文件時(比如說25Mb),它也很慢。這裏我用一個例子來證明我的情況。您在Cygwin的GREP速度有多快?

> time for i in $(seq 1000); do grep "$i" .; done 

real 75.865  user 5.442  sys 14.542  pcpu 26.34 

我想知道

  1. 讓我看看你的分數。你有過類似的問題,Cygwin的或GNU的grep緩慢
  2. 你怎麼能提高性能
  3. 什麼你使用Cygwin的提示

UNAME -rvs
CYGWIN_NT- 6.1-WOW64 1.7.9(0.237/5/3)2011-03-29 10:10

which grep 
grep is /usr/bin/grep 
grep is /bin/grep 
grep is /usr/bin/grep` 
+2

'grep foo .' should not _anything_ - '''指的是一個無法讀取的目錄。 – sarnold

+0

不會超過同一個25 MiB文件1000次意味着您正在有效處理25,000 MiB(25 GiB)的數據?你多久之後才能完成這個任務? (只要你的命令是正確的) – Bart

+0

另外,你對非常短的字符串(「1」..「1000」)進行grep。 GNU grep可能決定在更長的字符串上使用Boyer-Moore。 _Morale:_基準使用現實場景。 – ninjalj

回答

0
$ time for i in $(seq 1000); do grep "$i" .; done 

real 0m13.741s 
user 0m3.520s 
sys  0m8.577s 

$ uname -rvs 
CYGWIN_NT-6.1-WOW64 1.7.15(0.260/5/3) 2012-05-09 10:25 

$ which grep 
/usr/bin/grep