From: Junio C Hamano Date: Sat, 28 Feb 2009 17:40:32 GMT Subject: Re: [PATCH 3/4] diffcore-pickaxe: further refactor count_match() Message-ID: <7vmyc6foj3.fsf@gitster.siamese.dyndns.org> In-Reply-To: <49A937B8.1030205@lsrfire.ath.cx> René Scharfe writes: > I get this (Ubuntu 8.10 x64, Fedora 10 x64 using the same Linux repo, > Windows Vista x64 using a different Linux repo with the same HEAD on > NTFS and msysgit, numbers are the elapsed time in seconds, best of five > runs): > > Ubuntu Fedora Windows > v1.6.2-rc2 8.14 8.16 9.236 > v1.6.2-rc2+[1-4] 2.43 2.45 2.995 > v1.6.2-rc2+[1-4]+memmem 1.31 1.25 2.917 > v1.6.2-rc2+[1-3]+memmem 1.51 1.16 8.455 > > Ubuntu has glibc 2.8, while Fedora 10 has glibc 2.9, with a new and more > efficient memmem() implementation. On Windows, we use our own naive > memmem() implementation. Yeah, what does glibc use these days? Some variant of Boyer-Moore? > So using memmem() is worthwhile. And providing a better fall-back > version in compat/ can speed up this particular case to the point where > the fourth patch becomes moot. > > Hmm, gnulib (http://git.savannah.gnu.org/gitweb/?p=gnulib.git;a=summary) > contains all parts ready for copy & paste, licensed under the GPL 2 or > up. That won't cause problems with the libgit2 relicensing effort, as > memmem() won't end up in there, right? Correct.