]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/commit
grep: replace the internal queue with a ring buffer
authorkevans <kevans@FreeBSD.org>
Wed, 9 Dec 2020 05:27:45 +0000 (05:27 +0000)
committerkevans <kevans@FreeBSD.org>
Wed, 9 Dec 2020 05:27:45 +0000 (05:27 +0000)
commitd56f0ccdf6ba8b9b65f8c35d7e932719c3da6cf9
tree52b01dd3a801b1ab48b3cae31f5ed71a51346be4
parent62cefa0d20dad91411dd131207127734aea88830
grep: replace the internal queue with a ring buffer

We know up front how many items we can have in the queue (-B/Bflag), so
pay the cost of those particular allocations early on.

The reduced queue maintenance overhead seemed to yield about an ~8%
improvement for my earlier `grep -C8 -r closefrom .` test.

MFC after: 2 weeks
usr.bin/grep/grep.c
usr.bin/grep/grep.h
usr.bin/grep/queue.c