中文

JyNI 中的垃圾回收:如何桥接标记/清除与引用计数 GC

编程语言 2016-07-05 v1

摘要

Jython 是一个基于 Java 的 Python 实现,也是集成 Python 和 Java 最无缝的方式。它通过将 Python 代码编译为 Java 字节码从而让 Java 的 JIT 对其进行优化来实现高效率——这种方法使得 Python 代码能够调用 Java 函数或继承 Java 类。它使 Python 代码能够利用 Java 的多线程特性,并利用 Java 内置的垃圾回收(GC)。然而,它目前不支持 CPython 的 C-API,因此不支持像 NumPy 和 SciPy 这样的原生扩展。由于大多数科学计算代码依赖于此类扩展,因此无法在 Jython 上运行。Jython Native Interface (JyNI) 是一个兼容层,旨在 Jython 之上提供 CPython 的原生 C 扩展 API。JyNI 使用 Java Native Interface (JNI) 实现,其原生部分被设计为与现有的扩展构建二进制兼容 [...]。

关键词

引用

@article{arxiv.1607.00825,
  title  = {Garbage Collection in JyNI - How to bridge Mark/Sweep and Reference Counting GC},
  author = {Stefan Richthofer},
  journal= {arXiv preprint arXiv:1607.00825},
  year   = {2016}
}