For the matter of efficiency, I would like to know if the files
compiled with COMPILE-FILE are a sort of .exe code, or something
intermediate, like Java bytecodes or the like. I don't want to
get stand-alone applications, my (rather vague) question is about
the speed of execution from the Lisp prompt. Is it comparable in
general to .exe files or to .class files?
Thanks,
-- Shin
P.S.: If this depends on the implementation I would like to know
how CLISP does it, if you were so kind, I haven't seen the answer
in the documentation.
On Sat, 16 Oct 1999 12:04:34 GMT, ···@retemail.es (Shin) wrote:
: For the matter of efficiency, I would like to know if the files
: compiled with COMPILE-FILE are a sort of .exe code, or something
: intermediate, like Java bytecodes or the like. I don't want to
: get stand-alone applications, my (rather vague) question is about
: the speed of execution from the Lisp prompt. Is it comparable in
: general to .exe files or to .class files?
Well, the self-answer I guess, after reading the FAQ 2.4, is that
COMPILE-FILE generates something between native code and source
code, say as Java bytecodes to get the idea, but the speed of
execution is not that easy to compare.
Please, could you correct that if it is a wrong conclusion?
Thanks,
-- Shin
···@retemail.es (Shin) writes:
> On Sat, 16 Oct 1999 12:04:34 GMT, ···@retemail.es (Shin) wrote:
>
> : For the matter of efficiency, I would like to know if the files
> : compiled with COMPILE-FILE are a sort of .exe code, or something
> : intermediate, like Java bytecodes or the like. I don't want to
> : get stand-alone applications, my (rather vague) question is about
> : the speed of execution from the Lisp prompt. Is it comparable in
> : general to .exe files or to .class files?
>
> Well, the self-answer I guess, after reading the FAQ 2.4, is that
> COMPILE-FILE generates something between native code and source
> code, say as Java bytecodes to get the idea, but the speed of
> execution is not that easy to compare.
>
> Please, could you correct that if it is a wrong conclusion?
It is a "somewhat wrong" conclusion.
COMPILE-FILE generates a 'compile version' of your code. What a
'compiled version' of your code is depends on the Common Lisp
implementation.
Some implementations (e.g. CLisp) give you a 'byte code' version.
Some other implementations give you a native version (e.g. ACL). Some
other again give you both (e.g. CMUCL).
An iteresting exercise is to compile a file, load it and then call
DISASSEMBLE on a function defined in that file. With CMUCL on a PC
you'd get a x86 assembly listing.
Cheers
--
Marco Antoniotti ===========================================
PARADES, Via San Pantaleo 66, I-00186 Rome, ITALY
tel. +39 - 06 68 10 03 17, fax. +39 - 06 68 80 79 26
http://www.parades.rm.cnr.it/~marcoxa