On Sun, 03 Dec 2006 20:37:57 +0900, Shigio YAMAGUCHI wrote... > > The version that use strhash is the fastest in normal usage as you say. > > Your code is a little disadvantageous when a project is large and > the result is small. Oppositely, it is not deteriorated even in > the worst. > > CVS version your patch > ------------------------------------------------------------------ > small project o o > large project and small result o x > large project and large result x o > ------------------------------------------------------------------
The current bucket size(256) is too small for wide projects. It seems to have to be increased to 1024 or 2048. This was measured using "2006-12-02 0:00 JST" version. $ foreach dir ( * ) foreach? echo === $dir === foreach? foreach size ( 256 512 1024 2048 4096 8192 16384 ) foreach? (cd $dir; unsetenv GTAGSCACHE; setenv BUCKET_SIZE_FOR_SORTING_PATH $size; time global -r '.*' > /dev/null) foreach? end foreach? end === linux-2.0.40 === pool: 0.048416s sort: 0.001620s 0.040u 0.016s 0:00.05 100.0% 0+0k 0+0io 0pf+0w pool: 0.041609s sort: 0.001615s 0.036u 0.016s 0:00.04 100.0% 0+0k 0+0io 0pf+0w pool: 0.037726s sort: 0.001540s 0.024u 0.020s 0:00.04 100.0% 0+0k 0+0io 0pf+0w pool: 0.036101s sort: 0.001481s 0.020u 0.024s 0:00.04 100.0% 0+0k 0+0io 0pf+0w pool: 0.035897s sort: 0.001484s 0.028u 0.016s 0:00.03 100.0% 0+0k 0+0io 0pf+0w pool: 0.033812s sort: 0.001483s 0.024u 0.012s 0:00.03 100.0% 0+0k 0+0io 0pf+0w pool: 0.033348s sort: 0.001503s 0.024u 0.012s 0:00.03 100.0% 0+0k 0+0io 0pf+0w === linux-2.2.26 === pool: 0.243086s sort: 0.004630s 0.200u 0.052s 0:00.25 100.0% 0+0k 0+0io 0pf+0w pool: 0.178444s sort: 0.004498s 0.156u 0.028s 0:00.18 94.4% 0+0k 0+0io 0pf+0w pool: 0.137918s sort: 0.005136s 0.120u 0.028s 0:00.14 100.0% 0+0k 0+0io 0pf+0w pool: 0.124253s sort: 0.004330s 0.100u 0.032s 0:00.12 108.3% 0+0k 0+0io 0pf+0w pool: 0.115665s sort: 0.004273s 0.092u 0.032s 0:00.12 100.0% 0+0k 0+0io 0pf+0w pool: 0.106118s sort: 0.004062s 0.100u 0.016s 0:00.10 110.0% 0+0k 0+0io 0pf+0w pool: 0.103101s sort: 0.004039s 0.076u 0.036s 0:00.11 90.9% 0+0k 0+0io 0pf+0w === linux-2.4.33 === pool: 1.215627s sort: 0.011617s 1.164u 0.072s 0:01.23 100.0% 0+0k 0+0io 0pf+0w pool: 0.685051s sort: 0.011351s 0.624u 0.084s 0:00.70 100.0% 0+0k 0+0io 0pf+0w pool: 0.508234s sort: 0.011361s 0.460u 0.068s 0:00.52 100.0% 0+0k 0+0io 0pf+0w pool: 0.384096s sort: 0.011145s 0.332u 0.072s 0:00.40 100.0% 0+0k 0+0io 0pf+0w pool: 0.345005s sort: 0.011095s 0.292u 0.076s 0:00.35 102.8% 0+0k 0+0io 0pf+0w pool: 0.294520s sort: 0.010580s 0.268u 0.044s 0:00.31 96.7% 0+0k 0+0io 0pf+0w pool: 0.268971s sort: 0.010140s 0.244u 0.048s 0:00.28 100.0% 0+0k 0+0io 0pf+0w === linux-2.6.19 === pool: 3.579097s sort: 0.020770s 3.512u 0.100s 0:03.60 100.2% 0+0k 0+0io 0pf+0w pool: 2.060902s sort: 0.020550s 1.968u 0.124s 0:02.09 99.5% 0+0k 0+0io 0pf+0w pool: 1.258092s sort: 0.020441s 1.200u 0.092s 0:01.29 100.0% 0+0k 0+0io 0pf+0w pool: 0.915617s sort: 0.020256s 0.836u 0.112s 0:00.94 100.0% 0+0k 0+0io 0pf+0w pool: 0.761371s sort: 0.019645s 0.712u 0.080s 0:00.79 100.0% 0+0k 0+0io 0pf+0w pool: 0.599901s sort: 0.019220s 0.508u 0.124s 0:00.63 98.4% 0+0k 0+0io 0pf+0w pool: 0.508363s sort: 0.018467s 0.456u 0.084s 0:00.53 100.0% 0+0k 0+0io 0pf+0w ---- Hideki IWAMOTO [EMAIL PROTECTED]
test2.patch
Description: Binary data
_______________________________________________ Bug-global mailing list [email protected] http://lists.gnu.org/mailman/listinfo/bug-global
