1

この投稿の件名で述べたように、OOP は構造的プログラミング (スパゲッティ コード) よりも難しい方法で遅いことがわかりました。

OOP を使用してシミュレートされたアニーリング プログラムを作成し、クラスを 1 つ削除して、それをメイン フォームで構造的に記述しました。突然、ずっと速くなりました。OOP プログラムのすべての反復で、削除したクラスを呼び出していました。

タブー検索でも調べました。同じ結果です。なぜこれが起こっているのか、他のOOPプログラムでどうすれば修正できるのか教えてもらえますか? トリックはありますか?たとえば、クラスなどをキャッシュしますか?

(プログラムはC#で書かれています)

4

2 に答える 2

1

高頻度のループがあり、そのループ内で新しいオブジェクトを作成し、他の関数をあまり呼び出さない場合、はい、これらnewの sを回避できるかどうかがわかります。オブジェクト、合計時間の大部分を節約できます。

、コンストラクタ、デストラクタ、およびガベージ コレクションの間newで、ごくわずかなコードが大量の時間を浪費する可能性があります。控えめに使用してください。

于 2013-09-27T19:48:28.113 に答える