Байт-скомпилированная функция не так эффективна, как примитивная функция, написанная на C, но работает намного быстрее, чем версия, написанная на Lisp. Вот пример:
(defun silly-loop (n)
"Возвращает время, в секундах, необходимое для выполнения N итераций цикла."
(let ((t1 (float-time)))
(while (> (setq n (1- n)) 0))
(- (float-time) t1)))
⇒ silly-loop
(silly-loop 50000000) ⇒ 5.200886011123657
(byte-compile 'silly-loop)
⇒ [Скомпилированный код не показан]
(silly-loop 50000000) ⇒ 0.6239290237426758
В этом примере интерпретируемый код потребовал более 5 секунд для выполнения, в то время как байт-скомпилированный код потребовал менее 1 секунды. Эти результаты являются репрезентативными, но фактические результаты могут отличаться.