pythonは遅い?
pythonでスクリプトやバッチ処理用のコードを書いていると、処理時間は気になるところですよね。
c言語やjavaを書いている人から「python?処理遅いからなぁ」などと言われることも多々あります。
確かにコンパイルする言語に比べたらインタプリタ型のpythonは遅いかもしれません。
でもね、pythonで書くメリットってそこじゃないし、工夫次第で早くなるし!!
と思わず反論したくなることだってあります。
そもそもそんなに早くしたいならそれ相応の報酬くれよ…
と嘆きたくなります。
まぁそんなことは置いておいて、pythonでは要件を満たすコードを書き上げるのに時間がかからなかったりその後のメンテナンスが楽というメリットもありますので、処理の内容次第ではpythonで書きたい!
でも、遅い遅いおじさんたちが何か言ってくるかもしてない。
よし、実際に処理速度を図って納得してもらおうということでpythonで処理速度を図るコードを紹介します。
pythonの処理速度を計測
まずは、標準ライブラリであるtimeをimportしておきます。
import time
次に、処理の開始直前で開始時間を変数に格納しておきましょう。
start = time.time()
そして、処理を書き終わったら、最後にこれを追加して実行するだけ!
elapsed_time = time.time() - start
print ("処理時間:{0}".format(elapsed_time) + "秒")
最後の出力行はファイルに出力したり、DBに書き込んだり自由に出力してください。
これで、処理時間を計測できます。
結果を見れば納得してもらえますし、もし遅い場合は、コードの書き方を間違えているかそもそもpython向きではない処理の可能性がありますので再検討できます。
処理速度を意識するようになると、適切なコードの書き方がわかってきますのでおすすめですよ!