Nicolas wrote:
> Hello,
> I ran some benchmarks of Bash 4.0-rc1. It is quite impressive! Here are the
> results.


> Bash 4.0, with bash malloc:
>  * eval `dircolors`: 0.385s
>  * source /etc/bash_completion: 41.651s (around 93% of the time is spent in
> function find_entry of lib/malloc/table.c)

Bash versions other than `release' are built with extensive extra arena
and allocation checking enabled in the bash malloc.  The `find_entry'
function is the primary interface to look up the record kept for each
allocation.  As you can imagine, bash takes quite a performance hit when
this kind of allocation debugging is enabled.

If the results are acceptable with allocation tracing and debugging on,
they should be even better in the release version.  If you'd like to
experiment right now, you can recompile after disabling the `DEBUG' and
`MALLOC_DEBUG' defines in Makefile.  (Or you can just rebuild with

> We notice that on my computer, libc6's malloc is definitively faster than
> Bash's malloc.

Let's not decide that just yet. :-)


``The lyf so short, the craft so long to lerne.'' - Chaucer

Chet Ramey, ITS, CWRU

Reply via email to