从https://github.com/uqfoundation/dill/blob/master/dill/dill.py#L43:
从泡菜导入_Pickler作为StockPickler,Unpickler作为StockUnpickler
这意味着莳萝继承自pickle._Pickler,这是一个纯Python实现。但是,_pickle.Pickler是pickle的替代实现,它是一个更快的版本。为什么莳萝不从中延伸?
最佳答案
我是dill
作者。我十年前做出了这个决定,所以让我看看是否能记住...。我相信dill
在C pickler上使用python pickler的原因是(a)我希望dill
是纯python(有没有轮子,因此使用C扩展名分发代码就不那么琐碎了);(b)我希望能够劫持pickle注册表,以便import dill
将对象填充到pickle
注册表中。我认为这是合理的。
关于python - 为什么 dill 慢?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/49753612/