Skip to content

Latest commit

 

History

History
14 lines (12 loc) · 1.07 KB

07-How-to-Optimize-Loops.md

File metadata and controls

14 lines (12 loc) · 1.07 KB

How to Optimize Loops

時には、実行に時間がかかり、製品のボトルネックとなるループや再帰関数が発生することがあります。ループを少し早くする前に、完全に削除する方法があるかどうかを検討して、数分を費やしてください。別のアルゴリズムがやりますか?他に何かを計算しながらそれを計算できますか?回避策が見つからない場合は、ループを最適化することができます。これは簡単です。物を動かす。結局のところ、これには独創性だけでなく、各種類の陳述と表現の費用の理解も必要となります。ここにいくつかの提案があります:

  • 浮動小数点演算を削除します。
  • 新しいメモリブロックを不必要に割り当てないでください。
  • 定数を一緒に折りたたみます。
  • I / Oをバッファに移動する。
  • 分裂しないでください。
  • 高価な型キャストをしないでください。
  • インデックスを再計算するのではなく、ポインタを移動する。

これらの各操作のコストは、特定のシステムによって異なります。いくつかのシステムでは、コンパイラとハードウェアがこれらのことを行います。明確で効率的なコードは、特定のプラットフォームの理解を必要とするコードよりも優れています。 Next How to Deal with I/O Expense