Since put_include, get_include, put_included, and get_included use
linear search, they are slow.
This patch improves those speed using shrhash module.

=== diffstat ===
 fileindex.c |   23 +++----
 incop.c     |  188 ++++++++++++++++++------------------------------------------
 incop.h     |   13 ++--
 src2html.c  |    6 -
 4 files changed, 79 insertions(+), 151 deletions(-)

=== Comparison of execution time ===
 GTAGSCACHE=100000000, format=compact, htags_options=-aDfFnox,
 source tree: linux-2.6.15

current cvs version
[linux-2.6.15]$ time htags --statistics
- Elapsed time of making duplicate entries ............         21 seconds.
- Elapsed time of making function index ...............          2 seconds.
- Elapsed time of making file index ...................          1 seconds.
- Elapsed time of making include file index ...........         23 seconds.
- Elapsed time of making hypertext ....................        164 seconds.
- The entire elapsed time .............................        211 seconds.
196.864u 21.769s 3:31.01 103.6% 0+0k 0+0io 8pf+0w

patched version
[linux-2.6.15]$ time htags --statistics
- Elapsed time of making duplicate entries ............         20 seconds.
- Elapsed time of making function index ...............          2 seconds.
- Elapsed time of making file index ...................          0 seconds.
- Elapsed time of making include file index ...........          7 seconds.
- Elapsed time of making hypertext ....................        144 seconds.
- The entire elapsed time .............................        173 seconds.
162.382u 21.025s 2:53.88 105.4% 0+0k 0+0io 6pf+0w

----
Hideki IWAMOTO  [EMAIL PROTECTED]

Attachment: incop-use-strhash.path
Description: Binary data

_______________________________________________
Bug-global mailing list
[email protected]
http://lists.gnu.org/mailman/listinfo/bug-global

Reply via email to