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/

10-12 23:19