diff options
Diffstat (limited to 'devdocs/elisp/speed-of-byte_002dcode.html')
| -rw-r--r-- | devdocs/elisp/speed-of-byte_002dcode.html | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/devdocs/elisp/speed-of-byte_002dcode.html b/devdocs/elisp/speed-of-byte_002dcode.html new file mode 100644 index 00000000..dae47485 --- /dev/null +++ b/devdocs/elisp/speed-of-byte_002dcode.html @@ -0,0 +1,25 @@ + <h3 class="section">Performance of Byte-Compiled Code</h3> <p>A byte-compiled function is not as efficient as a primitive function written in C, but runs much faster than the version written in Lisp. Here is an example: </p> <div class="example"> <pre class="example">(defun silly-loop (n) + "Return the time, in seconds, to run N iterations of a loop." + (let ((t1 (float-time))) + (while (> (setq n (1- n)) 0)) + (- (float-time) t1))) +⇒ silly-loop +</pre> + +<pre class="example">(silly-loop 50000000) +⇒ 10.235304117202759 +</pre> + +<pre class="example">(byte-compile 'silly-loop) +⇒ <span class="roman">[Compiled code not shown]</span> +</pre> + +<pre class="example">(silly-loop 50000000) +⇒ 3.705854892730713 +</pre> +</div> <p>In this example, the interpreted code required 10 seconds to run, whereas the byte-compiled code required less than 4 seconds. These results are representative, but actual results may vary. </p><div class="_attribution"> + <p class="_attribution-p"> + Copyright © 1990-1996, 1998-2022 Free Software Foundation, Inc. <br>Licensed under the GNU GPL license.<br> + <a href="https://www.gnu.org/software/emacs/manual/html_node/elisp/Speed-of-Byte_002dCode.html" class="_attribution-link">https://www.gnu.org/software/emacs/manual/html_node/elisp/Speed-of-Byte_002dCode.html</a> + </p> +</div> |
