解释跑三次的代价
按模型,cost("interp", 3) 交回几?
执行方式模型:解释执行边读边跑;字节码先编译一次、之后重复跑更省。cost(方式, runs):解释每次都解释 = 2*runs,字节码 = 1+runs;faster_bytecode(runs)=字节码是否更快。
def is_interp(model):
"""是不是解释执行(逐条解释着跑)。"""
return model == "interp"
def compile_once(model):
"""字节码模型:先编译一次、之后重复跑更省。"""
return model == "bytecode"
def cost(model, runs):
"""跑 runs 次的总代价:解释每次都解释 = 2*runs;字节码编译 1 次 + 每次跑 = 1 + runs。"""
return 2 * runs if model == "interp" else 1 + runs
def faster_bytecode(runs):
"""跑 runs 次时,字节码是不是比解释更快(1+runs < 2*runs)。"""
return 1 + runs < 2 * runs
print(cost("interp", 3))
全部评论