Next: コンパイラー警告を回避するためのヒント, Previous: Emacsプログラミングのヒント, Up: ヒントと規約 [Contents][Index]
以下はバイトコンパイル済みLispプログラムの実行速度を改善する方法です。
memq
、member
、assq
、assoc
は明示的な繰り返しより更に高速である。これらの検索プリミティブを使用できるようにデータ構造を再配置することにも価値が有り得る。
byte-compile
プロパティを調べればよい。そのプロパティが非nil
ならその関数は特別に扱われる。
たとえば以下を入力するとaref
が特別にコンパイルされえることが示される(配列を操作する関数を参照):
(get 'aref 'byte-compile) ⇒ byte-compile-two-args
この場合(および他の多くの場合)には、最初にbyte-compile
プロパティを定義するbytecompライブラリーをロードしなければならない。