会社でRADIUSサーバーの認証ログをリアルタイムに解析するツールを作っていたところ、思ったようなパフォーマンスが出ず、line_profiler というプロファイリングツールを使って調べたところ、処理時間の大部分を datetime.strptime で日時の文字列を datetime オブジェクトに変換する一行のコードが占めていました。 strptime だけでスクリプト実行時間の83%を占めている。あきらかにここが原因 そこで、日時の文字列を自分で区切って datetime.datetime() に渡すようにしたところ、処理速度が飛躍的に向上しボトルネックは無くなりました。 下記サンプルコードを使ってベンチマークをしたところ、strptime はなんと4倍以上遅い!(実行環境: macOS Sierra / Python 3.5.2) from datetime import dat
![Python の datetime.strptime がすんごく遅い件 - miyalog](https://cdn-ak-scissors.b.st-hatena.com/image/square/e1574aa383863a342acfde4318391d5dd0a1f4e7/height=288;version=1;width=512/https%3A%2F%2Fcdn-ak.f.st-hatena.com%2Fimages%2Ffotolife%2Fm%2Fmiyahan%2F20161105%2F20161105130657.png)