Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 14 Aug 2010 11:03:50 +0300
From:      Daniel Braniss <danny@cs.huji.ac.il>
To:        "Sean C. Farley" <scf@FreeBSD.org>
Cc:        Gabor Kovesdan <gabor@FreeBSD.org>, current@FreeBSD.org
Subject:   Re: Official request: Please make GNU grep the default 
Message-ID:  <E1OkBiZ-0004f1-0L@kabab.cs.huji.ac.il>
In-Reply-To: <alpine.BSF.2.00.1008131034440.35204@thor.farley.org> 
References:  <4C6505A4.9060203@FreeBSD.org> <4C650B75.3020800@FreeBSD.org>  <alpine.BSF.2.00.1008131034440.35204@thor.farley.org>

next in thread | previous in thread | raw e-mail | index | archive | help
>   This message is in MIME format.  The first part should be readable text,
>   while the remaining parts are likely unreadable without MIME-aware tools.
> 
> --56599777-398594934-1281714095=:35204
> Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed
> 
> On Fri, 13 Aug 2010, Gabor Kovesdan wrote:
> 
> > Em 2010.08.13. 10:43, Doug Barton escreveu:
> >> My reason is simple, performance. While doing some portmaster work 
> >> recently I was regression testing some changes I made to the --index* 
> >> options and noticed that things were dramatically slower than the 
> >> last time I tested those features. Thinking that I had made a 
> >> programming mistake I dug into my code, and while the regexps that I 
> >> was using could be tuned for slightly better performance the problem 
> >> was not in my code.  I then installed textproc/gnugrep to compare, 
> >> and the differences were very dramatic using a highly pessimized test 
> >> case (finding a match on the last line of INDEX). The script I used 
> >> to test is at http://people.freebsd.org/~dougb/grep-time-trial.sh.txt 
> >> and a typical result was:
> >> 
> >> GNU grep
> >> Elapsed time: 2 seconds
> >> 
> >> BSD grep
> >> Elapsed time: 47 seconds
> >> 
> > Ok, I'll take care of this soon, and make GNU grep default, again with 
> > a knob to build BSD grep. I agree with you that we cannot allow such a 
> > big performance drawback but I my measures only showed significant 
> > differences for very big searches and I didn't imagine that it could 
> > add up to such a big diference. I'm sorry for the bad decision I took 
> > making it default.
> 
> This should trim some time off BSD grep.  It removes the lock/unlock for 
> each fgetc() by locking/unlocking the file once.  stdio can be slow.
> 
> You probably want to replace flockfile() with ftrylockfile() if threads 
> will be involved at some point (threading or making a libgrep that may 
> be used in a threaded process).

why would you want to lock a file for reading anyways?
BTW, back in the jurasic age, ATT/Bell had this poster: 
	Reach out and GREP someone!
danny






Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?E1OkBiZ-0004f1-0L>