我应该如何在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功能,但作为初学者,我不知道如何使用它。