Since popen() is used heavily, the execution speed of gtags depends on /bin/sh very much. For example, on Redhat Linux 9, the speed of gtags improves about 50% by using /bin/ash.static instead of /bin/sh(dynamically linked bash).
I think that this should be indicated by FAQ. ----- I compared execution time using Linux source tree. When configured with LDFLAGS=-static. [linux-2.0.40]$ for ((a=0;a<5;a++)); do rm -f G*; time gtags; done 17.140user 13.900system 31.704elapsed 97.90% 17.070user 14.010system 32.111elapsed 96.78% 16.680user 15.150system 33.471elapsed 95.09% 17.250user 14.030system 32.600elapsed 95.95% 17.150user 13.980system 32.019elapsed 97.22% [linux-2.2.26]$ for ((a=0;a<5;a++)); do rm -f G*; time gtags; done 45.590user 38.930system 93.785elapsed 90.12% 45.770user 38.170system 88.183elapsed 95.18% 45.840user 38.030system 88.169elapsed 95.12% 45.170user 38.620system 88.148elapsed 95.05% 45.530user 38.340system 87.971elapsed 95.33% [linux-2.4.31]$ for ((a=0;a<5;a++)); do rm -f G*; time gtags; done 98.920user 94.690system 243.634elapsed 79.46% 97.540user 93.440system 200.419elapsed 95.29% 97.780user 94.700system 196.208elapsed 98.10% 97.220user 95.030system 194.782elapsed 98.70% 97.600user 94.810system 197.042elapsed 97.65% [linux-2.6.11.11]$ for ((a=0;a<5;a++)); do rm -f G*; time gtags; done 123.200user 129.660system 368.090elapsed 68.69% 123.150user 121.860system 264.262elapsed 92.71% 125.130user 119.730system 252.014elapsed 97.16% 124.310user 119.550system 263.957elapsed 92.38% 122.500user 119.150system 248.043elapsed 97.42% When configured with LDFLAGS=-static LIBS=$HOME/lib/libmypopen.a (This contains modified popen.) [linux-2.0.40]$ for ((a=0;a<5;a++)); do rm -f G*; time gtags; done 11.290user 8.070system 23.945elapsed 80.85% 11.300user 7.630system 20.696elapsed 91.47% 10.980user 7.940system 19.832elapsed 95.40% 10.910user 8.020system 19.841elapsed 95.40% 11.420user 7.470system 19.816elapsed 95.32% [linux-2.2.26]$ for ((a=0;a<5;a++)); do rm -f G*; time gtags; done 29.980user 23.200system 68.827elapsed 77.26% 30.430user 21.400system 59.040elapsed 87.78% 30.700user 21.460system 56.204elapsed 92.80% 29.910user 22.260system 56.283elapsed 92.69% 30.450user 21.650system 56.220elapsed 92.67% [linux-2.4.31]$ for ((a=0;a<5;a++)); do rm -f G*; time gtags; done 65.100user 52.040system 165.330elapsed 70.85% 65.380user 48.320system 123.130elapsed 92.34% 64.240user 49.470system 120.741elapsed 94.17% 64.440user 49.300system 116.169elapsed 97.91% 65.070user 48.710system 118.728elapsed 95.83% [linux-2.6.11.12]$ for ((a=0;a<5;a++)); do rm -f G*; time gtags; done 80.720user 69.600system 223.893elapsed 67.14% 80.430user 62.840system 160.480elapsed 89.27% 78.760user 64.780system 153.385elapsed 93.58% 79.570user 63.730system 148.693elapsed 96.37% 80.290user 62.920system 147.377elapsed 97.17% ---- Hideki IWAMOTO [EMAIL PROTECTED] _______________________________________________ Bug-global mailing list [email protected] http://lists.gnu.org/mailman/listinfo/bug-global
