Yes, most of it is done in higher level elisp modules.
I think you are right, however, in that it is not obvious that it would be faster in all situations. You would get the advantage of compiling the elisp modules to machine code, but you might loose some performance in the actual operations. However, there is no fundamental reason that the C sections couldn't be left in C and called (if the performance difference is really big).
There is no reason (that I can think of) you couldn't write a cross compiler from emacs lisp to CL. They are actually fairly similar (except for maybe some scoping rules).
I'm kind of torn on this because, honestly, it has already been done a couple of times... lisp machines, and mcclim emacs, are the ones that I can think of off the top of my head. Anyway.
On a 64 bit machine it should be very good, on a 32 bit machine possibly less so.
I think you are right, however, in that it is not obvious that it would be faster in all situations. You would get the advantage of compiling the elisp modules to machine code, but you might loose some performance in the actual operations. However, there is no fundamental reason that the C sections couldn't be left in C and called (if the performance difference is really big).
There is no reason (that I can think of) you couldn't write a cross compiler from emacs lisp to CL. They are actually fairly similar (except for maybe some scoping rules).
I'm kind of torn on this because, honestly, it has already been done a couple of times... lisp machines, and mcclim emacs, are the ones that I can think of off the top of my head. Anyway.
On a 64 bit machine it should be very good, on a 32 bit machine possibly less so.