np.add 背后:从 Python 调用到 SIMD 内核

Tracing np.add, all the way down

np.add 可能是全球执行次数最多的数值 Python 代码行之一。大多数人认为它只是用 C 语言快速相加数组,但这背后隐藏着复杂的机制。本文将带你从 Python 入口点一路追踪到 SIMD 内核,拆解 NumPy 2.5.2 的源码。我们将探索 ufunc 对象如何解析参数、检查 __array_ufunc__ 覆盖、进行类型提升与分发,最终选择正确的内循环。无论是简单的平凡循环还是复杂的 NpyIter 迭代器,每一步都揭示了 NumPy 如何高效处理数组运算。

np.add 可能是全球执行次数最多的数值 Python 代码行之一,大多数人认为它只是用 C 语言快速相加数组,但这背后隐藏着复杂的机制。

同日更多故事

2026-09-08