From 82ba818ff456bcd6d56a06226e3f27e98fbb55c3 Mon Sep 17 00:00:00 2001 From: Craig Jennings Date: Thu, 14 Aug 2025 22:58:58 -0500 Subject: removing all downloaded devdocs files --- devdocs/elisp/native-compilation.html | 16 ---------------- 1 file changed, 16 deletions(-) delete mode 100644 devdocs/elisp/native-compilation.html (limited to 'devdocs/elisp/native-compilation.html') diff --git a/devdocs/elisp/native-compilation.html b/devdocs/elisp/native-compilation.html deleted file mode 100644 index 897cb33d..00000000 --- a/devdocs/elisp/native-compilation.html +++ /dev/null @@ -1,16 +0,0 @@ -

Compilation of Lisp to Native Code

In addition to the byte-compilation, described in the previous chapter, Emacs can also optionally compile Lisp function definitions into a true compiled code, known as native code. This feature uses the libgccjit library, which is part of the GCC distribution, and requires that Emacs be built with support for using that library. It also requires to have GCC and Binutils (the assembler and linker) available on your system for you to be able to native-compile Lisp code.

To determine whether the current Emacs process can produce and load natively-compiled Lisp code, call native-comp-available-p (see Native-Compilation Functions).

Unlike byte-compiled code, natively-compiled Lisp code is executed directly by the machine’s hardware, and therefore runs at full speed that the host CPU can provide. The resulting speedup generally depends on what the Lisp code does, but is usually 2.5 to 5 times faster than the corresponding byte-compiled code.

Since native code is generally incompatible between different systems, the natively-compiled code is not transportable from one machine to another, it can only be used on the same machine where it was produced or on very similar ones (having the same CPU and run-time libraries). The transportability of natively-compiled code is the same as that of shared libraries (.so or .dll files).

Libraries of natively-compiled code include crucial dependencies on Emacs Lisp primitives (see What Is a Function) and their calling conventions, and thus Emacs usually won’t load natively-compiled code produced by earlier or later Emacs versions; native compilation of the same Lisp code by a different Emacs version will usually produce a natively-compiled library under a unique file name that only that version of Emacs will be able to load. However, the use of unique file names allows to have in the same directory several versions of the same Lisp library natively-compiled by several different versions of Emacs.

A non-nil file-local variable binding of no-byte-compile (see Byte Compilation) also disables the native compilation of that file. In addition, a similar variable no-native-compile disables just the native compilation of the file. If both no-byte-compile and no-native-compile are specified, the former takes precedence.

- - - - - - - -
-

- Copyright © 1990-1996, 1998-2022 Free Software Foundation, Inc.
Licensed under the GNU GPL license.
- https://www.gnu.org/software/emacs/manual/html_node/elisp/Native-Compilation.html -

-
-- cgit v1.2.3