这个函数该内联吗

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

按模型,函数体 6 条、阈值 5,should_inline(6, 5) 交回什么?

内联模型:should_inline(体大小, 阈值)=不超阈值才内联;calls_saved=省下的调用次数;size_after(调用方, 函数体, 调用数)=每个调用点用函数体替换后的大小;worth_it(函数体, 调用数, 预算)=增长没超预算。

def should_inline(size, threshold):
    """函数体不超过阈值才值得内联。"""
    return size <= threshold


def calls_saved(n_calls):
    """内联掉 n_calls 处调用,就省下这么多次调用开销。"""
    return n_calls


def size_after(caller, callee, n_calls):
    """内联后调用方大小:每个调用点用函数体替换(去掉 1 条 call、加 callee 条)。"""
    return caller + n_calls * (callee - 1)


def worth_it(callee, n_calls, budget):
    """代码增长没超过预算 budget 才划算。"""
    return n_calls * (callee - 1) <= budget

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

                        
👩‍🏫
AI
💬 题目评论

全部评论