本节介绍提升字节编译 Lisp 程序执行速度的方法。
memq、member、assq 或 assoc 比显式迭代更快。
有时值得重新设计数据结构,以便使用这类原生搜索函数。
byte-compile 属性。
若该属性非 nil,则函数会被特殊处理。
例如,以下代码可查看 aref 是否被特殊编译(see 操作数组的函数):
(get 'aref 'byte-compile)
⇒ byte-compile-two-args
注意本例(及许多类似场景)中,必须先加载 bytecomp 库,该库定义了 byte-compile 属性。