我应该如何检查python中子指令的执行时间?通过在调用函数之前添加 %time 可以轻松获得任何指令的执行时间:
%time function call
现在我必须知道在 3 级 for 循环中真正消耗时间的是什么(很明显,彼此内的 3 个 for 循环会使时间增加 3 倍)。这是代码:
candidates = (known([word]).union(known(edits1(word)))).union(known_edits2(word).union(known_edits3(word)) or [word])
在哪里,
def known_edits2(word):
return set(e2 for e1 in edits1(word) for e2 in edits1(e1) if e2 in NWORDS)
def known_edits3(word):
return set(e3 for e1 in edits1(word) for e2 in edits1(e1) for e3 in edits1(e2) if e3 in NWORDS)
我需要找出迭代是否需要更多时间或多次调用edits1。所以我需要为每一位找到时间。我查了一下,发现了timeit函数,但是作为一个初学者我不知道如何使用它。