Web アプリのように大量処理が走る場面では、小さな改善が地味に効いてきます。
「ちょっとした処理だから」と侮りがちですが、Web アプリではこういう小さな最適化の積み重ねがレスポンスの差になることも。
本記事を参考に、アプリのパフォーマンスを少しでも上げていきましょう。
【保存版】PythonでWebアプリを高速化するテクニック
Pythonで文字列連結は「+=」よりも「join」が速い
例えば、全角を半角に変換する関数。
Python で文字列をループしながら+=で組み立てると、パフォーマンスが悪いです。
理由は、+=のたびに新しい文字列を再生成するから。
Python
def convert_fullwidth_to_halfwidth(text: str) -> str:
result = ""
for char in text:
result += FULLWIDTH_TO_HALFWIDTH_MAP.get(char, char)
return result代わりに、Python では "".join() を使うのが定石です。
Python
def convert_fullwidth_to_halfwidth(text: str) -> str:
if not text:
return ""
return "".join(FULLWIDTH_TO_HALFWIDTH_MAP.get(c, c) for c in text)join は内部的に効率よくバッファを確保するので、ループ処理でも高速&メモリ効率が良い。

コメント