コンパイラと実行環境
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2021/04/17 17:35 UTC 版)
「CMU Common Lisp」の記事における「コンパイラと実行環境」の解説
CMUCLは対話的実行 (en:REPL) を主に想定したインタプリタだが、コンパイルの不要なLispプログラムのファイルを一括して読み込むこともできる。 サイズの小さなバイトコードによるプログラム(コンパイラで生成できる)を実行するプログラムも用意されている。これは現在はほとんど使われないが、プログラムのサイズが非常に小さくでき、インターネットの整備が進んでいなかった当時はネットワーク上の転送に有利だったので、CMUCLの初期のリリースではよく使われていた。 Pythonという名前のネイティブ・コードコンパイラが実装されている。これはプログラミング言語のPythonとは無関係である。適切なデータ型の宣言が行われていて、実行速度を考慮してプログラミングされたCommon Lispのソースコードであれば、Pythonの出力するコードはC++などの言語から生成されたコードと大して変わらない速度で実行できる。関数の呼び出し方法や、ユーザー定義のデータ型に対するポインタを使わない配列がないことなどによる実行効率の悪さは、標準Common Lispに由来するものであり、改良が必要である(たとえばインライン化を強化したり、実際にはあらかじめ確保されている配列にアクセスしているだけだがユーザー定義のデータ型のように扱えるようにする文を生成するマクロなど)。Pythonコンパイラには強力な型推論機能もあり、実行速度の低下のないプログラムを書いたり、最適化箇所の提示などに有効である。
※この「コンパイラと実行環境」の解説は、「CMU Common Lisp」の解説の一部です。
「コンパイラと実行環境」を含む「CMU Common Lisp」の記事については、「CMU Common Lisp」の概要を参照ください。
- コンパイラと実行環境のページへのリンク