Pythonメモ >

Pythonのstrptimeが遅い

性能検証

# coding: utf-8

from datetime import datetime
import time

def main():

    loop_num = 1000
    date_text = '2018-01-01T01:02:03Z'

    # datetimeインスタンスを素で生成
    stime = time.time()
    for i in range(loop_num):
        target_datetime = datetime(int(date_text[0:4]), int(date_text[5:7]), int(date_text[8:10]),
                                   int(date_text[11:13]), int(date_text[14:16]), int(date_text[17:19]))
    etime = time.time()
    print('datetime : {}'.format(etime - stime))

    # datetime.strptime を利用
    stime = time.time()
    for i in range(loop_num):
        target_datetime = datetime.strptime(date_text, '%Y-%m-%dT%H:%M:%SZ')
    etime = time.time()
    print('strptime : {}'.format(etime - stime))


if __name__ == '__main__':
    main()

結果

datetime : 0.0019216537475585938
strptime : 0.014120101928710938

トップ   差分 バックアップ リロード   一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2018-10-17 (水) 21:17:06 (53d)