組み込みアプリケーションを含む、さまざまな種類のソフトウェアのパフォーマンス チューニングを数多く行ってきました。メモリ プロファイリングについては説明しませんが、それは別の問題だと思います。
パフォーマンスの問題を見つけるには、さまざまな部品のパフォーマンスを測定する必要があるという「よく知られた」アイデアがどこから生まれたのか、私は推測することしかできません。これはトップダウンのアプローチであり、政府が細分化することで予算の無駄を抑えようとするのと似ています。IMHO、うまく機能しません。測定は、あなたが行ったことが違いを生んだかどうかを確認するのには問題ありませんが、何を修正すべきかを伝えるのは苦手です.
何を修正すべきかを伝えるのに優れているのは、ボトムアップのアプローチです。このアプローチでは、費やされているものの微視的な単位の代表的なサンプルを調べ、それぞれが費やされている理由の完全な説明を見つけます。これは、単純な統計上の理由で機能します。サンプルの数パーセント (たとえば 40%) を節約できる理由がある場合、平均してサンプルの 40% でそれが示され、膨大な数のサンプルは必要ありません。各サンプルを注意深く調べる必要があり、それらをより大きな束に集約するだけではありません.
歴史的な例として、これは、第二次世界大戦への米国の関与が勃発したときにハリー・トルーマンが行ったことです。防衛産業にはひどい無駄がありました。彼は車に乗り込み、工場に向かい、周りに立っている人々にインタビューしました。それから彼は米国上院に戻り、問題が何であるかを正確に説明し、それらを修正しました.
たぶん、これはあなたが望んでいた以上の答えです。具体的には、これは私が使用する方法であり、これはそのブローバイブローの例です。
追加: 測定による発見という考えは、単純に自然なことだと思います。'82 年頃、私は組み込みシステムに取り組んでおり、パフォーマンスの調整を行う必要がありました。ハードウェアエンジニアは、私が読むことができるボードにタイマーを配置することを提案しました (彼の豊富な情報から提供されました)。IOW 彼は、パフォーマンスの問題を見つけるにはタイミングが必要だと考えていました。私は彼に感謝し、辞退しました。その時までに、私はランダム停止技術 (インサーキット エミュレーターを使用して行われました) を知っていて、信頼していたからです。