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