bug-global
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

cost of popen()


From: Hideki IWAMOTO
Subject: cost of popen()
Date: Thu, 16 Jun 2005 01:46:45 +0900

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  address@hidden




reply via email to

[Prev in Thread] Current Thread [Next in Thread]