-O2 比 -O0 省几条
按模型,-O0 有 12 条、-O2 有 7 条,saved(12, 7) 交回几?
优化级别模型:PASSES={0:[], 1:[fold], 2:[fold, dce, inline]}。num_passes(级) 这级开几趟、opt_on(级, 趟) 开没开、faster=O2 指令更少、saved=省下几条。
PASSES = {0: [], 1: ["fold"], 2: ["fold", "dce", "inline"]}
def num_passes(level):
"""这个优化级别开了几趟 pass。"""
return len(PASSES[level])
def opt_on(level, name):
"""这个级别开没开某趟 pass。"""
return name in PASSES[level]
def faster(instr_o0, instr_o2):
"""-O2 的指令数比 -O0 少,就算更快。"""
return instr_o2 < instr_o0
def saved(instr_o0, instr_o2):
"""-O2 相对 -O0 省下几条指令。"""
return instr_o0 - instr_o2
print(saved(12, 7))
全部评论