Il modulo cPickle supporta la serializzazione e la deserializzazione degli oggetti Python, fornendo un'interfaccia e delle funzionalità molto simili a quelle del modulo pickle. Ci sono comunque alcune differenze, le più importanti sono le prestazioni e la capacità di derivarne sotto classi.
Primo, cPickle può essere fino a 1000 volte più veloce di pickle perché il suo codice è implementato in C. Secondo, nel modulo cPickle gli oggetti chiamabili Pickler() e Unpickler() sono funzioni e non classi. Questo significa che non si possono derivare sotto classi personalizzate per serializzare e deserializzare. Molte applicazioni non hanno bisogno di queste funzionalità e trarranno beneficio unicamente dalle eccezionali performance del modulo cPickle.
I flussi di dati della serializzazione prodotti da pickle e cPickle sono identici ed è possibile quindi usare pickle e cPickle alternativamente con i dati serializzati esistenti. 3.11
Esistono altre piccole differenze, nelle API, tra cPickle e pickle, comunque per la maggior parte delle applicazioni, essi sono intercambiabili. Maggiori informazioni vengono fornite direttamente dalla documentazione nel modulo pickle, che include una lista delle differenze documentate.