我在使用true时有一个无限循环 在这个循环结束时,我总是检查这是否是循环的第一次迭代 如果是第一次迭代,则继续;如果是第二次,则在sleep(1200)
我想知道避免检查每次迭代if条件的最佳方法是什么?这个条件只有一次,并且我将循环运行10 ^ 10000次。
像这样使用eval是否有性能优势:
crazy = r""" crazy = "sleep(120)" """
while True:
// do some code
eval(crazy)
这将在第一次循环时重写crazy var,稍后将仅执行睡眠。 我知道这是不安全的,但是有一天,智能代码将是一种自我编写的代码。
答案 0 :(得分:1)
我怀疑eval
会比if
更有效率。
如果要避免使用“ if”,则以下代码将起作用。
n=0
while True:
// do some code
sleep(n)
n=1200
或完全删除该行
doSomeCode()
while True:
doSomeCode()
sleep(1200)
但是,老实说,除非您知道存在特定的性能问题,否则您不会每隔20分钟循环一次,这很可能掩盖了您的过早优化。