[Top][All Lists]

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

Rejecting dash because it lacks +=?

From: Paolo Bonzini
Subject: Rejecting dash because it lacks +=?
Date: Thu, 30 Oct 2008 14:46:19 +0100
User-agent: Thunderbird (Macintosh/20080914)

I wanted to see if /bin/dash was really that much faster (*), and found
several problems.  Some of them I can send patches for; some are in
libtool which should really ditch its poor-man echo replacement; one is
worth discussing here.

The problem is that /bin/dash did not pass the "suggested" tests: it
does not support $LINENO and AS_VAR_APPEND test.  Now:

1) ditching $LINENO may be a little too heavy-weight, also because the
replacement does not work for config.status (the parent script replaced
$LINENO throughout, even in the generated scripts).  By the way, this
means that we can remove _AS_LINENO_PREPARE from _AS_PREPARE: since
_AS_PREPARE has invoked AS_PREPARE and required _AS_LINENO_PREPARE in
the parent, we know that there will be no $LINENO in the child script
unless $LINENO works.

We can then beg the dash developers to implement $LINENO.

2) The AS_VAR_APPEND technique, right now, does not give any speedup in
Autoconf-generated scripts, as far as I could read.  Nevertheless, we
are rejecting all shells that do not support +=.  This, unlike LINENO,
is a pity, because it means that for everybody who's not using bash or
zsh, but has it installed, the scripts will rerun in bash or zsh.  This
means in turn that we get much less coverage of shells in the wild.

So, what about disabling the _AS_VAR_APPEND_WORKS test until it gives
substantial performance improvements?


(*) it is somewhat faster, but not that much:

dash:    real    0m41.898s user    0m22.629s sys     0m15.605s
bash:    real    0m46.232s user    0m23.905s sys     0m17.537s

reply via email to

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