Hi. > Since there are a lot of changes in the parser, the output should be seen by > a lot of people before the formal release, I think.
When bree cache is small, current implementation of 2-pass mode is slower than default mode. $ foreach cpumask ( 1 3 ) foreach? foreach label ( default 2pass ) foreach? echo ==== cpumask:$cpumask label:$label ==== foreach? foreach cachesize ( 8388608 16777216 33554432 67108864 ) foreach? rm -fr linux-2.6.31; tar xfj ~/download/linux/linux-2.6.31.tar.bz2; sync foreach? (cd linux-2.6.31; time taskset $cpumask env GTAGSLABEL=$label GTAGSCACHE=$cachesize gtags) foreach? end foreach? end foreach? end ==== cpumask:1 label:default ==== 114.267u 24.085s 3:09.48 73.0% 0+0k 0+0io 1pf+0w 115.367u 20.521s 2:55.73 77.3% 0+0k 0+0io 0pf+0w 116.227u 18.081s 2:32.98 87.7% 0+0k 0+0io 0pf+0w 116.671u 16.093s 2:24.36 91.9% 0+0k 0+0io 0pf+0w ==== cpumask:1 label:2pass ==== 91.353u 19.205s 3:48.79 48.3% 0+0k 0+0io 0pf+0w 92.317u 16.501s 3:05.40 58.6% 0+0k 0+0io 0pf+0w 92.797u 13.580s 2:08.52 82.7% 0+0k 0+0io 0pf+0w 93.929u 11.080s 1:56.03 90.4% 0+0k 0+0io 0pf+0w ==== cpumask:3 label:default ==== 112.507u 23.593s 2:48.80 80.6% 0+0k 0+0io 1pf+0w 112.991u 18.965s 2:30.06 87.9% 0+0k 0+0io 0pf+0w 113.591u 17.305s 2:13.30 98.1% 0+0k 0+0io 0pf+0w 114.831u 16.113s 2:11.92 99.2% 0+0k 0+0io 0pf+0w ==== cpumask:3 label:2pass ==== 88.773u 18.929s 3:17.01 54.6% 0+0k 0+0io 0pf+0w 90.085u 15.108s 2:35.38 67.6% 0+0k 0+0io 0pf+0w 90.877u 12.204s 1:44.62 98.5% 0+0k 0+0io 0pf+0w 91.217u 10.540s 1:29.74 113.3% 0+0k 0+0io 0pf+0w It seems that moving use of defined() from gtags-parser to gtags is bad idea. I will reimplement 2-pass mode in another way. Since new 2-pass mode is implemented by adding tag type to output of gtags-parser, the specifications of parser will be compatible with default mode. On Thu, 22 Oct 2009 15:44:28 +0900, Shigio YAMAGUCHI wrote... > Hi Hideki, > > > To improve the performance of gtags, this patch adds 2-pass mode. > > > > The following three points are improved by moving use of function defined() > > from gtags-parser to gtags. > > 1. Decreases the frequency of parsing source file from three times to two > > times. > > 2. Decreases reading of GTAGS by keeping cache of GTAGS > > beyond the duration of parser process. > > 3. Increases parallelism of gtags-parser and gtags on multiprocessor > > system. > > Great!!! I named your code 'Giant steps'. > > Since there are a lot of changes in the parser, the output should be seen by > a lot of people before the formal release, I think. > How about releasing twice like follows? > > include Giant steps? enable Giant steps by default? > ------------------------------------------------------------------------------ > GLOBAL-5.7.7(beta) Yes No > GLOBAL-5.8(formal) Yes Yes > > Thank you for your wonderful 'Giant steps'! > -- > Shigio YAMAGUCHI <[email protected]> > PGP fingerprint: D1CB 0B89 B346 4AB6 5663 C4B6 3CA5 BBB3 57BE DDA3 ---- Hideki IWAMOTO [email protected] _______________________________________________ Bug-global mailing list [email protected] http://lists.gnu.org/mailman/listinfo/bug-global
