Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/337.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
用python度量代码计时。我做错了什么?_Python_Time - Fatal编程技术网

用python度量代码计时。我做错了什么?

用python度量代码计时。我做错了什么?,python,time,Python,Time,我查找时间模块,但作为新手很难阅读它。我已经在搜索一个答案,它是测量代码的开始和结束。结果是0.0。请帮我解决这个问题。您使用时间的方式没有问题。时间 打印0.0的原因是代码运行得太快,计时器根本没有改变 为了说明我的观点,我已经将您的代码循环了1000次 import time s = time.time() def insertionSort(alist): for index in range(1, len(alist)): currentvalue = alis

我查找时间模块,但作为新手很难阅读它。我已经在搜索一个答案,它是测量代码的开始和结束。结果是0.0。请帮我解决这个问题。

您使用时间的方式没有问题。
时间

打印
0.0
的原因是代码运行得太快,计时器根本没有改变

为了说明我的观点,我已经将您的代码循环了1000次

import time
s = time.time()
def insertionSort(alist):
    for index in range(1, len(alist)):

        currentvalue = alist[index]
        position = index

        while position > 0 and alist[position - 1] > currentvalue:
            alist[position] = alist[position - 1]
            position = position - 1

        alist[position] = currentvalue
alist = [54,26,93,17,77,31,44,55,20]
insertionSort(alist)
print (time.time() - s) # Result 0.0
输出:

import time
s = time.time()
def insertionSort(alist):
    for index in range(1, len(alist)):

        currentvalue = alist[index]
        position = index

        while position > 0 and alist[position - 1] > currentvalue:
            alist[position] = alist[position - 1]
            position = position - 1

        alist[position] = currentvalue
for x in xrange(1000):
    insertionSort([54,26,93,17,77,31,44,55,20])
e = time.time()
print (e - s) 
import timeit
t = timeit.Timer("insertionSort([54,26,93,17,77,31,44,55,20])", "from __main__ import insertionSort")
time = t.timeit(1000)
print(time)
库中有一个名为
timeit
的bulti,如果您对代码性能感兴趣,它在这种情况下非常有用

0.00600004196167
输出:

import time
s = time.time()
def insertionSort(alist):
    for index in range(1, len(alist)):

        currentvalue = alist[index]
        position = index

        while position > 0 and alist[position - 1] > currentvalue:
            alist[position] = alist[position - 1]
            position = position - 1

        alist[position] = currentvalue
for x in xrange(1000):
    insertionSort([54,26,93,17,77,31,44,55,20])
e = time.time()
print (e - s) 
import timeit
t = timeit.Timer("insertionSort([54,26,93,17,77,31,44,55,20])", "from __main__ import insertionSort")
time = t.timeit(1000)
print(time)

它完成得太快,无法注册;尝试多次运行排序(确保在循环中初始化数组)。此外,还可以使用来衡量绩效。(或)你期待什么?是的!非常感谢Alex!