著者
湯浦 克彦 高田 綾子 青島 利久 安村 通晃 黒須 正明 武市 宣之
雑誌
全国大会講演論文集
巻号頁・発行日
vol.33, pp.475-476, 1986-10-01

自然言語解析、設計自動化、知識処理システム等の基本言語としてLispが注目されている。我々は、Lispの共通言語となりつつあるCommon Lispに準拠したHiLISP(High Performance List Processor)のインタプリタ/コンパイラの基本方式を設計し、HITAC Mシリーズ計算機上に処理系を作成した。HiLISPの設計方針としては、compiled-functionの実行速度を向上させることとインタプリタでの性能も軽視せずに高速性を維持することを取り上げた。Lisp言語では、まず、関数制御の最適化がcompiled-function/インタプリタの高速化の要となる。さらに、Common lispでは、多値の導入、インタプリタでの変数管理規則(スコープとエクステント)の厳密化のほかキーワード・パラメータの追加、引数の型の汎用化など機能が拡張されているので、これらの拡張に伴う性能の劣化を防ぐことが大きな課題となった。本稿では、多値の扱いを含む関数制御およびインタプリタでの変数管理について、HiLISPで適用した特徴的な技法と処理系の性能評価結果を報告する。
著者
安村 通晃 高田 綾子 青島 利久
出版者
一般社団法人情報処理学会
雑誌
情報処理学会論文誌 (ISSN:18827764)
巻号頁・発行日
vol.28, no.11, pp.1169-1176, 1987-11-15

汎用大型機上で動く Common Lisp の最適化コンパイラを設計・試作した. Common Lisp は 人工知能等の分野における実用的な応用に必要な機能を十分に備え かつ関数性を従来 Lisp 以上に取り込むことを目的とした近代的な Lisp 言語である.一方 従来の Lisp 処理系のユーザは 実行性能の点などで必ずしも満足していなかった.このため 我々は Common Lisp に準拠した高速の処理系 HiLISPとそのコンパイラを設計・試作した.ここでは HiLISP コンパイラの設計と最適化の方式を中心に述べる.HiLISPコンパイラは 高速性と移植性を考慮して 仮想 Lisp マシン語である Lcode を中間語として生成する.最適化の方式として 関数呼出しの最適化 型判定の最適化 局所最適化の各々の課題に対して それぞれ 自己再帰展開 コンパイル時の型判定・型推定 パイプラインを意識した命令列の並べ替えなどの方式を設計し 試作した.試作した HiLISP コンパイラに対して Lisp コンテスト代表12題ベンチマークにより 各最適化項目の性能を評価した.この結果 組込み関数展開の効果が最も大きく 次いで型判定・型推定の効果が大きいことがわかった.再帰関数展開 命令列の並べ替えなどの効果も確認できた.ここで提案する最適化方式は Lisp コンパイラ 特に Common Lisp コンパイラに有効な方式である.