>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
