>I've run the JDE with eieio both compiled and uncompiled and I've
>never noticed any difference in performance.  Further, I can't imagine
>why it should cause bad performance.  eieio is not used to do any
>computationally intensive tasks.

First of all not only JDE uses eieio but also semantic which in turn
is used by JDE.

Secondly macros & defsubst functions are inlined if byte-compiled
and eieio has a lot of them (if i remember right, Eric has told
me this).
BTW: This argument would also recommend, that we should
semantic byte-compile!

But here comes the original explanation from Eric, the author of eieio:

"Byte compilation converts the lisp program into a stack based program
with integer IDs for all built-in symbols.  The core of EIEIO uses
almost all built in commands (like car, cdr, assoc, etc).  In
particular, the method dispatch mechanism does a lot of work.  When
EIEIO core is not byte compiled, the method dispatch runs between
every single EIEIO method call.  The byte compilation step speeds
this up a lot."

Therefore my strong recommendation: At least eieio and semantic
should be byte-compiled.
And for other packages it is IMHO at least a good way to detect some
errors...

>If you have noticed bad performance, I'd like to know under what
>circumstances so that I can investigate. There may be ways to
>improve the performance.

Yes, just byte-compile eieio and semantic :-)

- Klaus

Reply via email to