3.15 cPickle -- Un modulo pickle più veloce

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.



Footnotes

... esistenti.3.11
Visto che il formato dei dati serializzati è attualmente un piccolo linguaggio di programmazione stack-oriented, e visto che viene presa qualche libertà nel codificare certi oggetti, è possibile che i due moduli producano due differenti flussi di dati dallo stesso oggetto passato in input. Comunque sia, viene garantito che saranno sempre capaci di leggere l'uno i flussi di dati dell'altro.
Vedete Circa questo documento... per informazioni su modifiche e suggerimenti.