1

汎用コンパイラの最大許容漸近ランタイムはどれくらいですか?

明確にするために:コンパイルされたプログラムではなく、コンパイルプロセス自体の複雑さ。たとえば、プログラムのサイズに応じて、ソース コードの文字数、ステートメント、変数、プロシージャ、基本ブロック、中間言語命令、アセンブラ命令などの数が異なります。

これはあなたの視点に大きく依存するため、これはコミュニティ wiki です。

これは、コンパイラを書いている人の視点から見てください。-O4最適化の 1 つが O(n^6) かかる場合、最適化レベルは大規模なプログラムに使用されますか?

関連する質問:

  • 超最適化(指数関数的な複雑さまたは計算不能でさえある) が許容されるのはいつですか?

  • JITには何が許容されますか? 線形である必要がありますか?

  • 確立されたコンパイラの複雑さは? GCC? VC? インテル?ジャワ?C#? ターボパスカル? LCC?LLVM? (参照?)

漸近的複雑度がわからない場合: コンパイラーがプロジェクトをコンパイルするまでどのくらい待ちますか? (スクリプト言語は除く)

4

1 に答える 1

1

すべてのソースファイルに対して最高レベルの最適化を必要とする大規模なプロジェクトはないと思います。そのレベルの最適化は、本当にそれを必要とするファイル/クラス/モジュールでのみ行われると思います。したがって、開発者がそのような最適化の範囲とコストをそれを必要とするコードに制限する方法を提供することが重要です。

于 2010-05-26T15:49:51.547 に答える