GNU Emacs 32.0.50 (9008bf64c3) のマニュアルを PLaMo 翻訳で機械翻訳したものです。誤訳を含むことがあります。原文: https://www.gnu.org/software/emacs/manual/html_node/elisp/Speed-of-Byte_002dCode.html ・ emacs-doc.conao3.com

17.1 バイトコンパイル済みコードのパフォーマンス

バイトコンパイルされた関数は、C言語で書かれたプリミティブ関数ほど効率的ではありませんが、Lispで書かれたバージョンよりははるかに高速に動作します。以下に例を示します。

(defun silly-loop (n)
  "Return the time, in seconds, to run N iterations of a loop."
  (let ((t1 (current-time)))
    (while (> (setq n (1- n)) 0))
    (float-time (time-since t1))))
⇒ silly-loop

(silly-loop 100000000)
⇒ 2.236908583

(byte-compile 'silly-loop)
⇒ [Compiled code not shown]

(silly-loop 100000000)
⇒ 0.374873305

この例では、インタプリタ形式のコードはバイトコンパイル形式のコードに比べて約6倍低速でした。これらの結果は代表的なものですが、実際の結果は異なる場合があります。