在python中显示算法运行时

时间:2015-01-07 03:24:40

标签: python

我需要显示使用时间库中可用功能运行两种不同算法所花费的时间。我假设我必须使用timeit()函数,但是我不熟悉如何将其合并到代码中。到目前为止,这就是我所拥有的:

import time
def time2Algorithms(sound):

  # normalize(sound)

  largest = 0
  for s in getSamples(sound):
    largest = max(largest,getSampleValue(s) )
  multiplier = 32767.0 / largest
  for s in getSamples(sound):
    louder = multiplier * getSampleValue(s)
    setSampleValue(s,louder)
  explore(sound)

  # onlyMaximize(sound)

  for sample in getSamples(sound):
      value = getSampleValue(sample)
      if value >= 0:
        setSampleValue(sample,32767)
      if value < 0:
        setSampleValue(sample,-32768)
  explore(sound)

我的目标是在执行后显示规范化和最大化算法的运行时间。

感谢。

2 个答案:

答案 0 :(得分:1)

time模块(您需要使用)不包含timeit(不同的模块)。

只需添加一个

start = time.time()

就在你想要的时间之前,例如

print(time.time() - start)

在所述部件之后 - 这将以秒为单位显示经过的时间。当然,根据需要进行装饰和格式化: - )

答案 1 :(得分:0)

你可以像这样使用timeit

import timeit
start_time = timeit.default_timer()
# Your algo goes here
elapsed = timeit.default_timer() - start_time

以及简单的时间模块

import time
start_time = time.time()
# Your algo goes here
elapsed = time.time() - start_time