[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH 0/5] speed up gnulib-tool some more
From: |
Ralf Wildenhues |
Subject: |
[PATCH 0/5] speed up gnulib-tool some more |
Date: |
Sun, 17 Jan 2010 10:48:15 +0100 |
User-agent: |
Mutt/1.5.20 (2009-10-28) |
This patch series is a repost and update of the unapplied parts of
<http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16147>
plus a couple of new patches; prompted by
<http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/20351/focus=20370>.
The first two patches, taken together, have a net effect of 10-20%
speedup on normal gnulib-tool usage. The third patch is a minor
peephole optimization.
Simon reported this to be very slow:
gnulib-tool --test --with-tests
(or s/--test/--create-testdir/, that is fairly irrelevant)
Here, execution time is dominated by the license compatibility checking
code in func_create_testdir. The fourth patch in this series speeds up
this check from something like 4.5 min to 26s on my system, but it also
changes the semantics of the test a bit; see the patch for discussion.
The last patch in this series fixes some of the fallout.
All in all, this series should cut well over half the gnulib-tool
running time for Simon. It has been casually tested to work on
AIX 5.3 ksh
FreeBSD sh
GNU/Linux bash, dash, ksh, ksh93
HP-UX 11.23/PA ksh
Solaris 10 ksh
Tru64 5.1 ksh
It exposes a segfault with (unmaintained) pdksh on GNU/Linux. I don't
think we need to cater to this. IRIX 6.5 sed has too many problems for
gnulib-tool both without and with this patch series, but using GNU sed
there seems to work fine.
I'm willing to rework the patches for suggested/required changes, and
I'd volunteer to maintain the code, if that helps. Thanks.
The patches are posted with git format-patch, so it should be possible
to apply them all at once from a pipe to 'git am -3' (the commit message
ends after the '---').
Cheers,
Ralf
- [PATCH 0/5] speed up gnulib-tool some more,
Ralf Wildenhues <=
- [PATCH 1/5] gnulib-tool: cache module metainformation., Ralf Wildenhues, 2010/01/17
- [PATCH 2/5] gnulib-tool: avoid forks with func_get_* functions., Ralf Wildenhues, 2010/01/17
- [PATCH 3/5] gnulib-tool: small sed optimization., Ralf Wildenhues, 2010/01/17
- [PATCH 4/5] Efficient license compatibility checks with --test/--create-testdir., Ralf Wildenhues, 2010/01/17
- [PATCH 5/5] Drop self-dependencies in modules/unistdio/*., Ralf Wildenhues, 2010/01/17
- Re: [PATCH 0/5] speed up gnulib-tool some more, Bruno Haible, 2010/01/17