April 2023
Intermediate to advanced
452 pages
7h 21m
Japanese
プロファイリングをすると、ボトルネックを見つけて最小限の労力で最大限に性能を向上できます。わずかな労力で大幅に性能を向上し、リソースの使用量を抑えたいものですが、実際には「必要十分なスピード」と「無駄のないリソース使用量」でコードが実行できることを目標とします。プロファイリングをすると、最小限の労力で最大限に現実的な判断をできます。
CPUに限らず、計測可能なリソースであればプロファイリングできます。本章では、CPU時間とメモリ(RAM)使用量に着目します。ネットワークとディスク入出力についても同様の計測技法を使えるでしょう。
プログラムの実行が非常に遅いときや大量のメモリを使っているときには、自分のコードが関わる箇所であればどこでも修正したくなるものです。プロファイリングせずに、自分が問題だと信じる箇所を修正することもできますが、見当違いな箇所に手を入れて修正したつもりになっていることもよくあるので注意が必要です。コードの構造を変更する前に、直観に頼るのではなく、まずプロファイリングして仮説を立てることが重要です。
プロファイリングは手を抜くのにも役立ちます。まずプロファイリングすることにより、解消すべきボトルネックをすぐに特定できます。その後、必要な性能を得るのに十分なだけ最適化できるのです。プロファイリングせずに最適化すると、長い目で見た場合には労力が増えてしまうこともあります。常にプロファイリングの結果に基づいて行動するようにしましょう。 ...
Read now
Unlock full access