Re: [PATCH 3/4] diffcore-pickaxe: further refactor count_match()
- From
Junio C Hamano <gitster@pobox.com>
- Date
- Feb 28, 2009, 06:08 UTC
- Message-ID
- <7v8wnrgkjw.fsf@gitster.siamese.dyndns.org>
- In-Reply-To
- <7vy6vrgxnn.fsf@gitster.siamese.dyndns.org>
Junio C Hamano <gitster@pobox.com> writes:
Show 6 quoted lines
> René Scharfe <rene.scharfe@lsrfire.ath.cx> writes: > ... >> In any case, there is also memmem(), which uses the same fast algorithm >> as strstr() in recent glibc versions. Like this? > > Thanks; it would be nice to bench this change.
With memmem() patch applied on top of [1-4/4], the same test as described in the commit log message of [4/4] which was:
$ STRING='Ensure that the real time constraints are schedulable.'
$ git log -S"$STRING" HEAD -- kernel/sched.c >/dev/null (Before the patch, best of 5 runs)
5.59user 0.15system 0:05.74elapsed 99%CPU (0avgtext+0avgdata 0maxresident)k
0inputs+0outputs (0major+39956minor)pagefaults 0swaps (After the patch, best of 5 runs)
3.04user 0.17system 0:03.23elapsed 99%CPU (0avgtext+0avgdata 0maxresident)k
0inputs+0outputs (0major+49697minor)pagefaults 0swaps The file "kernel/sched.c" has roughly 900 changes applied to it, and over
its lifetime, it has grown from 5kB to 9kB in size. I'd expect a larger
file may see a bigger performance boost.(With memmem() patch, best of 5 runs) 2.46user 0.15system 0:02.62elapsed 99%CPU (0avgtext+0avgdata 0maxresident)k 0inputs+0outputs (0major+49698minor)pagefaults 0swaps