プログラムの最適化とは何ですか?

プログラムの最適化とは、プログラムをより速く実行したり、リソースを消費したり、一般的にはより高いレベルの効率で機能したりするように、コンピュータープログラムを変更するプロセスです。最適化のタスクは、いくつかのプログラミング言語コンパイラによって自動的に実行されます。意図的に最適化プログラムを使用するか、ソースコードを介して特定の改善を試みるプログラマーが手動で実行できます。一般に、特定の目的を念頭に置いてプログラムの最適化を念頭に置いて実行されます。これは、プログラムの別の部分の最適化された状態を何らかの形で削減しないプログラムに行うことができる一般的な最適化が非常に少ないため、通常は速度またはリソースの使用法に対して最適化できますが、通常は両方ではありません。いくつかのタイプの最適化で発生する可能性のある合併症の1つは、多くの高レベルのプログラミング言語がネイティブコードと最適化が可能になる可能性のあるコンピューター言語の間にこのような大きなレベルの抽象化を提供することです。すべての状況ですべてのプラットフォームで実装することは困難または不可能、特にJust-in-Time(JIT)コンパイルを使用する解釈言語で。

プログラムの最適化における重要な概念は、通常、最適化に何らかの価格が付属するという考えです。この一例は、コードの一部がより迅速に実行するように最適化された場合、速度の上昇がコードの読みやすさ、メモリの使用、プログラムの柔軟性、またはその他のコストの価格でもたらされる可能性があることです。これは、プログラムの最適化がターゲットを絞ったプロセスでなければならないことを意味します。これは、プログラムの1つの側面をより良い方法で動作させることを目的としています。

プログラム開発のさまざまな段階で、さまざまな種類のプログラム最適化を実行できます。設計中、プログラムが効果的に実行されるように見えるようにすることにより、幅広い最適化を行うことができます。 Working実際のソースコードを使用すると、最適化には、外部コマンド、反復コール、または書かれていない機能がないことを保証することが含まれます。コンパイル時には、コンパイラによって多くの最適化が自動的に実行され、プログラマーによるさまざまなコンパイラスイッチまたはディレクティブを使用することでガイドできます。

コンパイラまたは献身の最適化プログラムで発生する可能性のある自動最適化は、多くの場合、人間のプログラマにとって実用的ではないほど複雑すぎるトリックを含めることができます。これには、プログラムに命令を移動することができ、元々書かれた注文から実行されますが、プロセッサにとってより効率的な方法で実行されます。また、メモリブロックなどの意図的にリソースをシフトすることで、より速くアクセスできるようにすることもできます。ほとんどのプログラムの最適化は、コンパイラレベルで自動的に発生します。

繰り返しまたは積極的なプログラムの最適化を伴う合併症の1つは、プログラムがより効率的に実行されるように変更されると、通常はより多くのdiになることです。機能の追加やバグの修正など、他の目的のために変更することができます。これは、すべての最適化を元に戻す必要なく、簡単に変更または新しいコードに適合していないセットプログラムの動作を最適化し始めると発生する可能性があります。より大きな問題は、多くの場合、簡潔なコマンドと古典的な制御構造のみではなく、トリックとショートカットが使用されるため、最適化されたプログラムの読み取りが低下することです。これらの理由から、劇的なコードの変更がプログラムをわずかに効率的に機能させる可能性がある場合でも、多くの場合、停止することが許容されるプログラムの最適化レベルがあります。

他の言語

この記事は参考になりましたか? フィードバックをお寄せいただきありがとうございます フィードバックをお寄せいただきありがとうございます

どのように我々は助けることができます? どのように我々は助けることができます?