python 程序中使用装饰器方法来输出程序运行时间

2018-05-06  本文已影响0人  北冢
# coding: utf-8


def _time_analyze_(func):
    from time import clock
    exec_times = 10000000

    def callf(*args, **kwargs):
        start = clock()
        for i in range(exec_times):
            r = func(*args, **kwargs)
        finish = clock()
        print("{:<20}{:10.6} s".format(func.__name__ + ":", finish - start))
        return r
    return callf


@_time_analyze_
def slowest_replace(original_str):
    replace_list = []
    for i, char in enumerate(original_str):
        c = char if char != " " else "-"
        replace_list.append(c)
    return "".join(replace_list)


@_time_analyze_
def slow_replace(original_str):
    replace_str = ""
    for i, char in enumerate(original_str):
        c = char if char != " " else "-"
        replace_str += c
    return replace_str


@_time_analyze_
def fast_replace(original_str):
    return "-".join(original_str.split())


@_time_analyze_
def fastest_replace(original_str):
    return original_str.replace(" ", "-")


if __name__ == "__main__":
    original_str = "People's Republic of China"

    res1 = slowest_replace(original_str)
    res2 = slow_replace(original_str)
    res3 = fast_replace(original_str)
    res4 = fastest_replace(original_str)
上一篇 下一篇

猜你喜欢

热点阅读