>>>> "kkm" == Kirill M Katsnelson
<kkm(a)kis.ru> writes:
kkm> Some time ago, Martin Buchholz wrote...
kkm> |+
kkm> | My XEmacs packages are installed on a Linux machine.
kkm> | Those packages are used from both Linux and from Solaris.
kkm> | The Linux NFS server is notoriously slow.
kkm> | Each find-file of a C source file on Solaris was annoyingly slow.
kkm> | I tracked it down to this ancient code in one of my cc-mode hooks:
kkm> |
kkm> | (ignore-errors (require 'cc-lobotomy) ...)
kkm> |
kkm> | There is no such .el file on my load-path, so a full load-path search
kkm> | was performed for every find-file.
kkm> I think that Fload may be hacked so it caches misses. If the cache
kkm> is flushed on every redisplay, this is pretty safe, but would greatly
kkm> help avoid problems like this. Maybe flushing may be done even more
kkm> intelligently.
The current caching algorithm is actually quite reasonable. It just
degrades when the number of directories in the search path grows without bound.
(length load-path)
==> 83
kkm> At all, stats on NFS are known to be very expensive. XEmacs probably
kkm> needs some general filesystem caching mechanism.
My main point is that many of our users will have to wait an extra 10
seconds at startup, or whenever searching for a lisp library that is
not found. Neither is acceptable.
Martin
ObBench: Packages initialization adds 12 sec to XEmacs startup time.
The sleep's below are for Solaris/Linux NFS caches to time out.
$ repeat 10 time env EMACSPACKAGEPATH=/root ./xemacs -no-site-file -no-init-file -f
kill-emacs && sleep 60
env EMACSPACKAGEPATH=/root ./xemacs -no-site-file -no-init-file -f kill-emacs 0.27s user
0.11s system 2% cpu 16.065 total
env EMACSPACKAGEPATH=/root ./xemacs -no-site-file -no-init-file -f kill-emacs 0.32s user
0.06s system 2% cpu 13.674 total
env EMACSPACKAGEPATH=/root ./xemacs -no-site-file -no-init-file -f kill-emacs 0.35s user
0.07s system 2% cpu 16.332 total
env EMACSPACKAGEPATH=/root ./xemacs -no-site-file -no-init-file -f kill-emacs 0.31s user
0.09s system 2% cpu 17.360 total
env EMACSPACKAGEPATH=/root ./xemacs -no-site-file -no-init-file -f kill-emacs 0.34s user
0.14s system 2% cpu 17.274 total
env EMACSPACKAGEPATH=/root ./xemacs -no-site-file -no-init-file -f kill-emacs 0.52s user
0.19s system 4% cpu 15.611 total
env EMACSPACKAGEPATH=/root ./xemacs -no-site-file -no-init-file -f kill-emacs 0.47s user
0.19s system 10% cpu 6.358 total
env EMACSPACKAGEPATH=/root ./xemacs -no-site-file -no-init-file -f kill-emacs 0.28s user
0.10s system 2% cpu 15.424 total
env EMACSPACKAGEPATH=/root ./xemacs -no-site-file -no-init-file -f kill-emacs 0.34s user
0.19s system 3% cpu 17.472 total
$ repeat 10 time ./xemacs -no-site-file -no-init-file -f kill-emacs && sleep 60
./xemacs -no-site-file -no-init-file -f kill-emacs 0.92s user 0.23s system 4% cpu 26.682
total
./xemacs -no-site-file -no-init-file -f kill-emacs 0.65s user 0.31s system 3% cpu 25.849
total
./xemacs -no-site-file -no-init-file -f kill-emacs 0.52s user 0.26s system 2% cpu 26.787
total
./xemacs -no-site-file -no-init-file -f kill-emacs 0.83s user 0.25s system 4% cpu 24.658
total
./xemacs -no-site-file -no-init-file -f kill-emacs 0.67s user 0.24s system 3% cpu 24.445
total
./xemacs -no-site-file -no-init-file -f kill-emacs 0.84s user 0.24s system 3% cpu 28.127
total
./xemacs -no-site-file -no-init-file -f kill-emacs 0.68s user 0.25s system 3% cpu 24.599
total
./xemacs -no-site-file -no-init-file -f kill-emacs 0.49s user 0.18s system 2% cpu 23.756
total
./xemacs -no-site-file -no-init-file -f kill-emacs 0.76s user 0.30s system 4% cpu 21.710
total