elisp: Byte Compilation

 
 16 Byte Compilation
 *******************
 
 Emacs Lisp has a “compiler” that translates functions written in Lisp
 into a special representation called “byte-code” that can be executed
 more efficiently.  The compiler replaces Lisp function definitions with
 byte-code.  When a byte-code function is called, its definition is
 evaluated by the “byte-code interpreter”.
 
    Because the byte-compiled code is evaluated by the byte-code
 interpreter, instead of being executed directly by the machine’s
 hardware (as true compiled code is), byte-code is completely
 transportable from machine to machine without recompilation.  It is not,
 however, as fast as true compiled code.
 
    In general, any version of Emacs can run byte-compiled code produced
 by recent earlier versions of Emacs, but the reverse is not true.
 
    If you do not want a Lisp file to be compiled, ever, put a file-local
 variable binding for ‘no-byte-compile’ into it, like this:
 
      ;; -*-no-byte-compile: t; -*-
 

Menu