为什么莳萝慢?

Sai*_*aza 1 python cpython pickle dill python-3.6

来自https://github.com/uqfoundation/dill/blob/master/dill/dill.py#L43

from pickle import _Pickler as StockPickler, Unpickler as StockUnpickler

这意味着 dill 继承自pickle._Pickler,它是一个纯 Python实现。然而,_pickle.Pickler是 pickle 的替代实现,并且是一个更快的版本。为什么莳萝不从它延伸出来?

Mik*_*rns 5

我是dill作者。我十年前就做出了这个决定,所以让我们看看我是否还记得...我相信dill使用 python pickler 而不是 C pickler 的原因是 (a) 我想dill成为纯 python (没有轮子,所以分布带有 C 扩展的代码就不那么简单了)和(b)我希望能够劫持 pickle 注册表,以便import dill将对象填充到pickle注册表中。我认为这就是理由。