为什么莳萝慢?

时间:2018-04-10 12:25:19

标签: python pickle python-3.6 cpython dill

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

来自pickle import _Pickler作为StockPickler,Unpickler作为StockUnpickler

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

1 个答案:

答案 0 :(得分:3)

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