[Date Prev][Date Next][Thread Prev][][Date Index][Thread Index]

Re: inline



>>>>> In [emacs-w3m : No.01863]
>>>>>	Katsumi Yamaoka <yamaoka@namazu.org> wrote:

山岡> あらら、確かに E21 では

山岡> (byte-optimize-inline-handler
山岡>  '(inline
山岡>     (message "a")
山岡>     (message "b")))
山岡>  => (progn (message "a") (message "b"))

山岡> にしかなりませんねえ。

(symbol-function 'message)
 => #<subr message>

のような場合は普通に funcall して使う、

(require 'rx)
(symbol-function 'rx-to-string)
 => #[(form &optional no-group) ...]

のような場合は inlining することによって funcall の overhead を
削ることができる、ということのようです。

(byte-optimize-inline-handler
 '(inline
    (rx-to-string '(or "a" "b") t)))
 => (progn
      ((lambda (form &optional no-group)
	 (byte-code ...))
       (quote (or "a" "b")) t))

XEmacs の `message' は subrp ではありませんでした。
-- 
Katsumi Yamaoka <yamaoka@namazu.org>