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

Re: 4.0.1-pre-1



>>> "Peter" == Peter Stephenson <pws@xxxxxxx> writes:

 >> I don't know if this can be considered as an `outstanding bug'
 >> but I haven't seen any mention of zsh-users/3574 in this thread.
 >> 
 >> I've tried to run that script (testsuite) with Zsh: it takes a
 >> *while* to start (i.e., to parse, I guess), acquires all the
 >> memory, most of the swap, brings the machine to its knees, and
 >> eventually run script as would other shells.  Althought it
 >> actually works, this behavior is quite uncomfortable :)  
 >> Any idea?

 Peter> I've had other problems, including `\c' not being
 Peter> interpreted by echo, which is actually deliberate for
 Peter> `emulate sh', and lots of tests failing, but there's
 Peter> something wrong with setting up here since a lot of
 Peter> tests fail anyway.  The errors include usage messages
 Peter> from grep and egrep, and errors from perl, so I don't
 Peter> think I'm going to be going very far as things stand at
 Peter> the moment.  However, zsh does produce more errors.  I
 Peter> haven't seen memory problems, though.  Maybe I'll try at
 Peter> home.

I don't see what you describe, pass the start the testsuite runs
fine (here).  I have done some more experiments with a fresh Zsh
from today's CVS, compiled with profiling support (although I now
believe it's just a memory consumption problem).

The script run (i.e. the testsuite) as weel as the gprof output
are available here: http://www.epita.fr/~duret_g/zsh-users-3574.tgz

Note that I have modified the testsuite so that it exits right
before the first test (in order to profile only the startup),
display memory usage on exit, and don't require autoconf (grep for
`ADL--' in the file to see the changed points).  The output is
as follow:

~/projs/autoconf-2.49c/tests % zsh testsuite                          14:23 #63
====================================
Testing suite for GNU Autoconf 2.49c
====================================

Some tests might be skipped if you don't have the software which the
macros check (e.g., a Fortran compiler).


Executables (autoheader, autoupdate...).

adl       6648 54.6 85.1 199924 107900 pts/4 S    14:23   0:13 zsh testsuite
adl       6688  0.0  0.3  1320  472 pts/4    S    14:24   0:00 grep testsuite
             total       used       free     shared    buffers     cached
Mem:        126732     124396       2336          0        424      10296
-/+ buffers/cache:     113676      13056
Swap:       244392     123120     121272
~/projs/autoconf-2.49c/tests % free                                   14:24 #64
             total       used       free     shared    buffers     cached
Mem:        126732      19308     107424          0        440      11984
-/+ buffers/cache:       6884     119848
Swap:       244392      37244     207148
~/projs/autoconf-2.49c/tests % ls -l testsuite                        14:24 #65
-rwxr-xr-x    1 adl      lrde       673886 Mar  6 14:23 testsuite*


See how much memory Zsh does acquire.  Actually it takes a
dozen of seconds to run here (not so much) because I have 100Mb
free.  It usually runs in 3-4min in normal conditions (when I have
X, emacs, netscape, etc. loaded).

For what it's worth, here is the head of gprof output:

  %   cumulative   self              self     total
 time   seconds   seconds    calls  ms/call  ms/call  name
 70.02      3.06     3.06   101532     0.03     0.03  zhalloc
  6.41      3.34     0.28    52966     0.01     0.01  ecstrcode
  5.26      3.57     0.23     4101     0.06     0.06  hrealloc
  2.97      3.70     0.13    23756     0.01     0.01  shingetline
  2.06      3.79     0.09    52489     0.00     0.04  gettokstr
  1.60      3.86     0.07   771871     0.00     0.00  ingetc
  1.37      3.92     0.06    93615     0.00     0.02  gettok
  1.14      3.97     0.05   485929     0.00     0.00  add
  1.14      4.02     0.05   105533     0.00     0.00  has_token
  0.69      4.05     0.03       29     1.03    47.01  gettext2
  0.46      4.07     0.02   121251     0.00     0.00  nohw
  0.46      4.09     0.02    93615     0.00     0.03  yylex
  0.46      4.11     0.02    89908     0.00     0.00  inungetc

The full output is in the aforementioned archive.
-- 
Alexandre Duret-Lutz



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