Jim Garrison wrote: > John Machin wrote: [snip] >> Have you considered using cPickle instead of pickle? >> Have you considered using *ickle.dump(..., protocol=-1) ? > > I'm using Python 3 on Windows (Server 2003). According to the docs > > "The pickle module has an transparent optimizer (_pickle) written > in C. It is used whenever available. Otherwise the pure Python > implementation is used." > > How can I tell if _pickle is being used?
Answered my own question >>> import _pickle >>> dir (_pickle) ['PickleError', 'Pickler', 'PicklingError', 'Unpickler', 'UnpicklingError', '__doc__', '__name__', '__package__'] >>> dir(_pickle.Pickler) ['__class__', '__delattr__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__gt__', '__hash__', '__init__', '__le__', '__lt__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', 'bin', 'clear_memo', 'dump', 'fast', 'memo', 'persistent_id'] >>> dir(_pickle.Pickler) ['__class__', '__delattr__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__gt__', '__hash__', '__init__', '__le__', '__lt__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', 'bin', 'clear_memo', 'dump', 'fast', 'memo', 'persistent_id'] _pickle seems to be there. Also, if I step into the load call (pydev under Eclipse) it steps into pickle.load() but won't step into the call to the Unpickler constructor. I assume that means it's calling out to the C implementation. -- http://mail.python.org/mailman/listinfo/python-list