News of this is getting out, so I may as well make it official. I'm
working on making the elisp engine (mostly eval.c) faster, using ideas
supplied by Ben, and a few of my own. If anyone else is making
changes to this part of the code, talk to me first so we don't
collide.
By the way, I don't think that the lisp engine itself is that much of
a bottleneck in XEmacs, so we should not be looking at a replacement
lisp engine specifically for a blazing fast XEmacs.
The best things to look at from a performance point of view, judging
from my profiling runs, are
- redisplay
- redisplay some more
- garbage collection
- extent handling
- regular expression handling
- mule coding system character conversion
Personally, I've always been interested in the language engine
itself. I've been working my way up to hacking Feval() itself for 3
years now, and I just got the courage to modify that function today.
Even if the core lisp is not THE performance bottleneck, those
functions ought to be an example of coding excellence, and so I think
they're worth a little more effort.
Martin