Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/300.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 如何使用timeit来计算函数运行所需的时间?_Python_Timer_Timeit - Fatal编程技术网

Python 如何使用timeit来计算函数运行所需的时间?

Python 如何使用timeit来计算函数运行所需的时间?,python,timer,timeit,Python,Timer,Timeit,试图计算这段代码运行需要多长时间: import timeit as t def fib_recursive(n): if n==0: return 0 elif n == 1: return 1 else: return fib_recursive(n-1) + fib_recursive(n-2) print fib_recursive(29) print t.Timer("fib_recursive(29)")

试图计算这段代码运行需要多长时间:

import timeit as t

def fib_recursive(n):

    if n==0:
        return 0
    elif n == 1:
        return 1
    else:
        return fib_recursive(n-1) + fib_recursive(n-2)
print fib_recursive(29)
print t.Timer("fib_recursive(29)")
结果如下:

import timeit as t

def fib_recursive(n):
    if n==0:
        return 0
    elif n == 1:
        return 1
    else:
        return fib_recursive(n-1) + fib_recursive(n-2)

setup = 'from __main__ import fib_recursive'
t.timeit('fib_recursive(29)', setup=setup)
514229 timeit.0xda28c0处的计时器实例使用:

或者简单地使用:

注意:您需要将
import
语句传递给
setup
参数。

使用:

或者简单地使用:

注意:您需要将
import
语句传递给
setup
参数。

使用:

或者简单地使用:

注意:您需要将
import
语句传递给
setup
参数。

使用:

或者简单地使用:


注意:您需要将
import
语句传递给
setup
参数。

要展开fourtheye的注释(这是正确的),通常需要将定义函数所需的步骤隔离到
timeit
的setup参数中。根据您的设置,我将执行以下操作:

import timeit as t

def fib_recursive(n):
    if n==0:
        return 0
    elif n == 1:
        return 1
    else:
        return fib_recursive(n-1) + fib_recursive(n-2)

setup = 'from __main__ import fib_recursive'
t.timeit('fib_recursive(29)', setup=setup)

我假设您了解改进此算法的各种技术,并选择测量其速度以仅建立基线。您可以尝试将
number
关键字参数设置为
timeit
,以控制重复次数。

要扩展Fourtheye的注释(这是正确的),通常需要将定义函数所需的步骤分离到
timeit
的设置参数中。根据您的设置,我将执行以下操作:

import timeit as t

def fib_recursive(n):
    if n==0:
        return 0
    elif n == 1:
        return 1
    else:
        return fib_recursive(n-1) + fib_recursive(n-2)

setup = 'from __main__ import fib_recursive'
t.timeit('fib_recursive(29)', setup=setup)

我假设您了解改进此算法的各种技术,并选择测量其速度以仅建立基线。您可以尝试将
number
关键字参数设置为
timeit
,以控制重复次数。

要扩展Fourtheye的注释(这是正确的),通常需要将定义函数所需的步骤分离到
timeit
的设置参数中。根据您的设置,我将执行以下操作:

import timeit as t

def fib_recursive(n):
    if n==0:
        return 0
    elif n == 1:
        return 1
    else:
        return fib_recursive(n-1) + fib_recursive(n-2)

setup = 'from __main__ import fib_recursive'
t.timeit('fib_recursive(29)', setup=setup)

我假设您了解改进此算法的各种技术,并选择测量其速度以仅建立基线。您可以尝试将
number
关键字参数设置为
timeit
,以控制重复次数。

要扩展Fourtheye的注释(这是正确的),通常需要将定义函数所需的步骤分离到
timeit
的设置参数中。根据您的设置,我将执行以下操作:

import timeit as t

def fib_recursive(n):
    if n==0:
        return 0
    elif n == 1:
        return 1
    else:
        return fib_recursive(n-1) + fib_recursive(n-2)

setup = 'from __main__ import fib_recursive'
t.timeit('fib_recursive(29)', setup=setup)

我假设您了解改进此算法的各种技术,并选择测量其速度以仅建立基线。您可以使用
number
关键字参数对
timeit
进行试验,以控制重复次数。

使用IPython时,最简单的计时方法是使用magicfunction
%timeit

%timeit fib_recursive(10)
>>> 10000 loops, best of 3: 70.2 us per loop

使用IPython时,最简单的计时方法是使用magicfunction
%timeit

%timeit fib_recursive(10)
>>> 10000 loops, best of 3: 70.2 us per loop

使用IPython时,最简单的计时方法是使用magicfunction
%timeit

%timeit fib_recursive(10)
>>> 10000 loops, best of 3: 70.2 us per loop

使用IPython时,最简单的计时方法是使用magicfunction
%timeit

%timeit fib_recursive(10)
>>> 10000 loops, best of 3: 70.2 us per loop
你可以使用函数。你可以使用函数。你可以使用函数。你可以使用函数。