Q1. CPU を消費せずに優れたパフォーマンスを達成するコードを作成するためのベスト プラクティスは何ですか? 質問は非常に一般的です。ここで私が求めているのは、さまざまな環境で使用されるさまざまなプラクティスをリストアップすることですか? プロセスモニター/タスクマネージャー以外のデバッグのヒント
編集:私はIOバウンドプロセスについて話しているのではありません。私はCPUバウンドプロセスについて話しています。しかし、ここでは、プロセスが CPU を占有し続けることは望ましくありません。4 コアのマシンがあり、プロセス内で 4 つの単純なループを実行すると、アプリケーション/プロセスが実行されるまで CPU 消費が最大 400% まで上昇します。
私はここで、誰もが何度か直面したであろうトピックについての経験を求めています. たとえば、アプリケーションが存在しないファイルを検索するために継続的にループしていたため、Windows で CPU を占有していたアプリケーションをデバッグしました。
2 つの異なる CPU バウンド アプリケーションがスムーズに実行される (良い応答が得られる) ようにプログラムを作成するにはどうすればよいですか?
更新: 提案:
適切でクリーンなコードを記述し、アプリケーションをプロファイリングしてから最適化します。(ヒントをありがとうテッド)
コードをプロファイリングして修正するよりも、コードを書き直し/再設計/リファクタリングする方が簡単です。
プロファイラーを使用してアプリケーションをデバッグする
待機時間が長いスレッドにはスピンロックを使用しないでください
アルゴリズムの選択
これらの提案は、初心者が概念を理解するのに大いに役立ちます。