You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Numba的inspect_asm无输出,如何正确查看函数汇编代码?

正确查看Numba JIT函数汇编代码的方法

你当前的代码没有输出,核心原因是Numba的@njit装饰函数仅在首次被调用时才会触发JIT编译,而inspect_asm()方法只会返回已经完成编译的函数版本信息——未编译时返回的是空字典,自然遍历后没有输出内容。

修正后的代码如下:

from numba import njit

@njit
def add(a, b):
    return a + b

# 先调用函数触发JIT编译,参数类型会决定编译的签名
add(1, 2)

# 遍历查看所有已编译版本的汇编代码
for sig, asm_code in add.inspect_asm().items():
    print(f"函数签名: {sig}")
    print("对应的汇编代码:")
    print(asm_code)

补充说明:

  • 调用函数时传入的参数类型会生成对应的编译签名(比如(int64, int64)),inspect_asm()的键就是这些签名,值是对应生成的汇编代码。
  • 如果需要查看不同参数类型下的汇编,只需用不同类型的参数多调用几次函数(比如add(1.5, 2.7)),再运行遍历代码即可。

内容的提问来源于stack exchange,提问作者gaussplustwo

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.24 09:34:51