这次优化变小了吗

👁️ 2 人浏览 💬 0 人评论 ❤️ 添加收藏

按模型,前后都是 2 条,shrank 交回什么?

贯穿本节的 IR 模型(判题机没 gcc,这是它的确定模型):程序是三地址码元组列表,每条 (dst, op, a, b)——opconst/copy/+/-/*,操作数 a/b 是整数(常量)或字符串(变量名)。

度量:size 指令条数,removed(before, after)=前减后,shrank=优化后是否更小。

def size(prog):
    """程序有几条指令。"""
    return len(prog)


def removed(before, after):
    """优化掉了几条(前 - 后)。"""
    return len(before) - len(after)


def shrank(before, after):
    """优化后是不是变小了。"""
    return len(after) < len(before)

print(shrank([1, 2], [1, 2]))
提交你的答案
请登录后提交答案。
去登录
代码编辑器
Ctrl + Enter 运行
本次输入:
输出:

                        
👩‍🏫
AI
💬 题目评论

全部评论