跳转至

PythonMonkey

PythonMonkey 把 SpiderMonkey JS 引擎嵌入 Python。无缝跑 JS。

https://github.com/Distributive-Network/PythonMonkey

深入洞见

PythonMonkey 把 SpiderMonkey 嵌入 CPython(C++ + CPython C API),实现上既追求低开销也注意边界语义:字符串/TypedArray 通过共享 backing store 尽可能做到零拷贝(参见 include/StrType.hhinclude/JSStringProxy.hh);JSArrayProxy / JSObjectProxy 将 JS 的数组/对象代理为 Python 一侧可用的容器接口;异步边界由 PromiseType.ccPyEventLoop.cc 桥接为 Python 的 asyncio 未来/任务。测试里有针对 typed-array 共享和 event-loop 行为的用例,说明这些桥接在实现层也被覆盖并验证。

参考源码:include/StrType.hh · include/JSObjectProxy.hh · src/PromiseType.cc · tests/python/test_buffer_typed_array.py