2011-12-06 56 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