11章パフォーマンス
プログラムのパフォーマンスを測る指標には、CPU使用率、スループット、レイテンシ、応答時間、メモリ使用量、キャッシュヒット率などがあります。また、パフォーマンスに関する指標は統計的な観点からも評価されます。例えば、レイテンシにおいては目的に応じて平均値や中央値、99パーセンタイル、あるいは最大値といった指標を考慮します。そして、これらの指標に基づいて、トランザクション数やFirst paint†1、最大フレームレート、伝送成功率などのアプリケーション固有の指標も構成できます。
[†1] ブラウザがページのレンダリングを開始するまでの時間。https://developer.mozilla.org/en-US/docs/Glossary/First_paint参照。
プログラムのパフォーマンスが優れているとは、ある指標に関して特定の定量的な測定基準が期待を満たしていることを意味します。どの指標が重要なのかは問題の領域や運用環境、ユーザの特性によって異なります。すべてに当てはまる万能な指標というものはありません。パフォーマンスエンジニアリングとは、プログラムの実行時の動作を分析して、重要な指標を最適化するために改善点を特定してプログラムの改良を進めていく分野です。
パフォーマンスに特化した低レベル言語と比較すると、Pythonはパフォーマンスに優れているとはみなされていません。確かに、Pythonインタプリタのオーバーヘッドや並列処理に関する制約([項目68]参照)を考慮すると当然の評価でしょう。しかし、Pythonには比較的少ない労力で目覚ましいパフォーマンスを達成できる多彩な機能があります。その機能を使えば、Pythonの高級言語としての利点を活かしつつホストシステムのパフォーマンスを最大限に引き出せます。 ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access