Hoe snel is jouw GREP in Cygwin?

Ik gebruik Cygwin op een zeer snelle pc, maar ik vind het belachelijk traag als ik grep wil gebruiken. Het is ook traag als ik een groot bestand wil verwerken (zeg 25Mb). Hier gebruik ik een voorbeeld om mijn zaak te bewijzen.

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

real 75.865     user 5.442      sys 14.542      pcpu 26.34

ik wil het weten

  1. Laat me je score zien. Heb je een soortgelijk probleem gehad met traagheid van cygwin of GNU grep
  2. Hoe kunt u de prestaties verbeteren
  3. Wat uw tips over het gebruik van 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`
1
Ook grepping voor zeer korte reeksen ("1" .. "1000"). GNU grep kan besluiten om Boyer-Moore langer te gebruiken. Moraal: benchmark met behulp van realistische scenario's.
toegevoegd de auteur ninjalj, de bron
grep foo. mag anything - niet gebruiken. verwijst naar een directory die niet kan worden gelezen.
toegevoegd de auteur sarnold, de bron
Als je niet hetzelfde 1000 MiB-bestand 1000 keer omhult, betekent dit dat je effectief 25.000 MiB (25 GiB) aan gegevens verwerkt? Hoe snel verwachtte u dat dit zou eindigen? (op voorwaarde dat uw opdracht correct is)
toegevoegd de auteur Bart, de bron
Je test hier grotendeels fork() -prestaties door 1000 grep-processen te vragen. Cygwin's fork() is traag omdat het implementeren ervan op Windows een almachtige hack vereist.
toegevoegd de auteur ak2, de bron

1 antwoord

$ 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
0
toegevoegd