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