pythonコードの速度のボトルネックを見つけるにはline_profilerが使える。
だが一部の開発者は「速度に凝り過ぎるとコードが読みづらい」という。
これには異論がある。
大幅に速度を改善するようなコードの改善は、むしろコードをシンプルに保つ上でも重要な働きがある。
傾向としては、マルチプロセッシングなどを使わずに速度を改善した場合は、プログラムの長さは減少する。
速度を改善すれば、特定の出力をするコードの最小長(コルモゴロフ複雑性)に近づく。
速度改善によってわかりにくくなるという人は、数学ができないのかもしれない。
物理学では、変数を単一の文字で表すことが多いが、こういうのに慣れていると「シンプル」の概念に差が開く。
こういった科学的な「シンプルさ」を理解できない人に対して、意味を説明する形で変数名を決めても、結局コードは理解できないだろう。
確かに、ビジネスドメインに近いコードであれば変数名をドメイン語に合わせるのがわかりやすい。
しかし「ボトルネックを改善しなければシステムが要件通りの速度にならない」ようなケースでは、数学的なコードの方がわかりやすくなるのである。
安心してください ビジネスに興味のある人たちは速度も要件に含めないといけないなんて知らないので問題ありません
可読性を気にするならPythonを使うなよ
pythonって可読性低いの? 昔は教育用に使われていて読みやすいとか喧伝されてたような記憶があるが。