>>>> "Soren" == Soren Dayton
<csdayton(a)cs.uchicago.edu> writes:
Soren> See above. Does this _really_ matter so much? The fact is that it _is_
Soren> all shared, and it _is_ demand paged, so this is sort of a possibly
Soren> shaky win. Would it _really_ be worth the work?
I'll add one more comment to this discussion. Although I don't
believe keeping the size of the CODE in the executable small should
really matter on a good OS, the size of the lisp data does matter a
lot. This is because every garbage collection touches ALL the lisp
data, and so ALL the lisp data is part of the minimal working set of
the XEmacs process. But if you're only putting DEFUNs into your
modules, you're not getting much in the way of lisp data savings. One
non-obvious benefit of rewriting lisp functions in C is that they
suffer far less garbage collection overhead.
A challenge for those of you who really want to make XEmacs faster.
Write a bytecode to C compiler. It's not that hard! It's already
pretty close to assembly language. Turn every lisp defun into a
loadable module. Use the new module system for THAT.
Martin