Zsh Mailing List Archive
Messages sorted by: Reverse Date, Date, Thread, Author

Re: Slowdown around 5.0.5-dev-0

On Oct 23, 12:26pm, Bart Schaefer wrote:
} Try the below patch against 8e9a68ad1 ?

Attached are my results from running the Sebastian's tests against
whatever binaries I had lying around that had zprof linked, plus
zsh with workers/36926.  Output attached.

I then rebuilt git head (8e9a68ad) and ran the tests again.  First
thing to note is that the results for the string test changed by
about 20% just because of running the test a second time, possibly
because system state changed as a result of using mmap() for heap.

However, if the results can be considered reliable anyway, note that
36926 retains most of the search_test speed, which I think is an
improvement over backing out all of 36834 (Sebastian's results for
zsh-newheaps-zhalloc, if I'm reading his email correctly).

Also zsh-5.0.7 - zsh-5.1 use a LOT of memory for the search test,
and 8e9a68ad uses almost as much for the string test, but 36926 is
pretty good at keeping both in check (of course the real reason
the search test is better is not mem.c but instead PWS's work in
pattern.c).  Also 36926 and 8e9a68ad had noticeably smaller memory
footprint with the function test than 5.1 or earlier, so NEWHEAPS
there is definitely worth the slight loss of speed.

I don't have hard numbers to show for memory because I was watching
"top" ... but each new process seems to inherit some memory from the
previous one, so those mmap()ed segments are probably being shared
between the parent shell (the one driving the test script) and its

Conclusion: 36926 is a good thing.  Thanks, Sebastian, for observing
the memory usage issue with 36384.  Can you confirm my results?

Barton E. Schaefer
Pass 1:

Running [zsh-5.0.7]:                     string_test      51764.74
Running [zsh-5.0.8]:                     string_test      51473.90
Running [zsh-5.1]:                       string_test      52185.28
Running [zsh-36926]:                     string_test      38504.65

Running [zsh-5.0.7]:                     array_test        6893.61
Running [zsh-5.0.8]:                     array_test        6783.31
Running [zsh-5.1]:                       array_test        7013.65
Running [zsh-36926]:                     array_test        6214.61

Running [zsh-5.0.7]:                     function_test    21903.79
Running [zsh-5.0.8]:                     function_test    23027.64
Running [zsh-5.1]:                       function_test    22488.52
Running [zsh-36926]:                     function_test    30285.55

Running [zsh-5.0.7]:                     search_test       8359.19
Running [zsh-5.0.8]:                     search_test       8626.48
Running [zsh-5.1]:                       search_test       8176.59
Running [zsh-36926]:                     search_test       4394.92

Pass 2 (added build of git head as "zsh"):

Running [zsh-5.0.7]:                     string_test      41757.54
Running [zsh-5.0.8]:                     string_test      41443.93
Running [zsh-5.1]:                       string_test      41697.08
Running [zsh]:                           string_test      23052.51
Running [zsh-36926]:                     string_test      26685.68

Running [zsh-5.0.7]:                     array_test        6956.99
Running [zsh-5.0.8]:                     array_test        6791.33
Running [zsh-5.1]:                       array_test        6996.48
Running [zsh]:                           array_test        6273.76
Running [zsh-36926]:                     array_test        6326.08

Running [zsh-5.0.7]:                     function_test    21892.22
Running [zsh-5.0.8]:                     function_test    22012.86
Running [zsh-5.1]:                       function_test    22046.14
Running [zsh]:                           function_test    29858.53
Running [zsh-36926]:                     function_test    28719.64

Running [zsh-5.0.7]:                     search_test       8254.72
Running [zsh-5.0.8]:                     search_test       8508.30
Running [zsh-5.1]:                       search_test       8599.57
Running [zsh]:                           search_test       4402.41
Running [zsh-36926]:                     search_test       4244.59

Messages sorted by: Reverse Date, Date, Thread, Author