首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用timeit来度量函数的运行时间?

如何使用timeit来度量函数的运行时间?
EN

Stack Overflow用户
提问于 2020-09-27 21:19:54
回答 1查看 21关注 0票数 0

我想测量选择排序的运行时间。

代码语言:javascript
复制
def selection_sort(arr):
    for i in range(len(arr)):
        least_idx = i
        for j in range(i + 1, len(arr)):
            if arr[j] < arr[least_idx]:
                least_idx = j
        arr[least_idx], arr[i] = arr[i], arr[least_idx]


if __name__ == "__main__":
    import timeit
    import random

    n = 7
    arr = random.sample(range(2**n), 2**n)
    timeit.timeit("selection_sort(arr)", "from __main__ import selection_sort", number=5)

但我经常收到NameErrors,特别是name 'arr' is not defined。如何做到这一点,并确保number=5不会在已经排序的列表上运行函数,python缓存也不会影响它?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-09-27 21:34:41

您可以像这样使用functools

代码语言:javascript
复制
    import functools
    t = timeit.Timer(functools.partial(selection_sort, arr)) 
    print (t.timeit(5))
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64088897

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档