2011-06-20 18 views

答えて

4

両方。リリースモードでビルドする場合は、使用しているコンパイラによってCILに移行する前にコードに最適化が適用されます。 JITterにも最適化されています。

コンパイラによって通常行われる最適化の例は、定数フォールディングです。

通常、JITレベルで行われる最適化の例は、ループアンローリングです。

+0

これは間違っているようです。コンパイラはJITerが何もできなかったことを何にしますか?コンパイラ最適化の例を教えてください。 –

+0

@ acidzombie24:JITterが何かできることは、それが意味するものではないという理由だけです。いくつかの最適化は、単にJITがユーザを中断しないように非常に高速でなければならないため、単に試みません。典型的には、JITterによってではなくフロントエンドの内部で行われる最適化の例は、一定のフォールディングである。 –

+0

@ acidzombie24、なぜJITterはすべての作業を行うべきですか?コンパイラは、未使用のメソッド呼び出し、インラインコードなどを取り除くことができます。 – bzlm

関連する問題