| |||
処理速度が遅いインタプリタを採用しているのはどうして?
| |||
|
世に広まっているプログラム開発言語は大抵、コンパイルまたはインタプリタ形式の言語プロセッサです。 コンパイル形式は、宣言変数や構文(命令)のチェックなど文法チェックを一度に行うといった特徴があり、 その特性上、最適化を行うことも可能(コンパイラに依存)です。 デメリットとしてあらゆるチェックを行ってから起動させるので処理が開始されるまでに時間が掛かります。 一部を変更しただけでも変更していない部分も再度コンパイルしなおす必要がある為、 頻繁に修正することがある場合、作業効率が著しく低下してしまいます。 一方のインタプリタ形式は、構文毎に解釈を行う為、起動に掛かる時間は一番初めの構文チェックのみです。 その為に高速起動できますが、その反面でコンパイルに比べると構文毎の処理時間が増えてしまいます。 また、実際に文法エラーと解釈されるかは処理がその構文に到達するまでは確認できません。 このように言語プロセッサには一長一短があり、HSPはインタプリタが採用されていますが、 完全なインタプリタではなくJavaと同形態の中間コードを使用したものとなっており、 処理速度もインタプリタ以上コンパイル未満となっており、 画像操作には期待はできないもののテキスト操作等では十分高速に動作します。 このような形を取っているのは、HSPの小回りが利く一環として 組んだ直後に待たされず確認できるというところにあるのではないでしょうか。 |