user200783
user200783

Reputation: 14348

Python2: Should I use Pickle or cPickle?

Python 2 has both the pickle and cPickle modules for serialization.

cPickle has an obvious advantage over pickle: speed. What, if any, advantage does pickle have over cPickle?

Upvotes: 54

Views: 22805

Answers (2)

Charlton Lane
Charlton Lane

Reputation: 438

I found this regarding pickle and cPickle:

"The pickle module implements an algorithm for turning an arbitrary Python object into a series of bytes....

The cPickle module implements the same algorithm, in C instead of Python. It is many times faster than the Python implementation, but does not allow the user to subclass from Pickle.

If subclassing is not important for your use, you probably want to use cPickle."

Source: https://pymotw.com/2/pickle/

Upvotes: 9

rkatkam
rkatkam

Reputation: 2794

The pickle module implements an algorithm for turning an arbitrary Python object into a series of bytes. This process is also called serializing” the object. The byte stream representing the object can then be transmitted or stored, and later reconstructed to create a new object with the same characteristics.

The cPickle module implements the same algorithm, in C instead of Python. It is many times faster than the Python implementation, but does not allow the user to subclass from Pickle. If subclassing is not important for your use, you probably want to use cPickle.

Source of above information.

Upvotes: 64

Related Questions