Skip to content
TopicTracker
出典 HackerNews原文を表示
翻訳言語翻訳言語

部分評価

部分評価(Partial Evaluation)は、プログラムの一部の入力を既知の値に固定し、残りの入力に対して最適化されたコードを生成する計算機科学の手法である。これにより、プログラムの実行効率を向上させたり、特殊化されたプログラムを自動生成したりすることが可能となる。

背景メモ

- **部分評価**(Partial Evaluation)は、プログラムの一部の入力が既知である場合に、その情報を使って可能な計算をあらかじめ実行し、残りの入力が与えられたときに高速に動く「専門化された」プログラムを生成する技術。 - 例えば、汎用的な描画エンジンに「特定のOS向けの最適化」という既知の情報を与え、OS固有の処理を事前に済ませた専用プログラムを生成する、といった使い方ができる。 - この理論は1970年代にYoshihiko Futamura(二村良彦)らが提唱した**二村射影**(Futamura Projections)として知られ、コンパイラを自動生成するアイデアにも繋がっている。 - 実用面では、テンプレートエンジン、データベースクエリの最適化、JITコンパイラの基盤など、様々な形で応用されてきた。特に**Supermachine**構想(未実現)など、ハードウェアレベルでの部分評価も理論的には提案されている。