Seite 1 von 1

cpickle kontra pickle

Verfasst: Mittwoch 18. Februar 2004, 14:33
von HarryH
Hallo,

Ich habe mal eine Frage zu cpickle. In der Python-Doku habe ich gelesen, dass das Modul cpickle ca. 1000 mal schneller ist, als das Modul pickle.
Ich frage mich nun, wie so etwas möglich sein kann? Es handelt sich hierbei nicht um Peanuts sondern um Größenordnungen.
Vielleicht könnte mir das bitte jemand erklären. :D

Verfasst: Mittwoch 18. Februar 2004, 14:59
von Dookie
Hi HarryH,

cpickle arbeitet direkt auf den C-Strukturen der in C gecodeten Module und kann daher effizienter auf die Einträge dort zugreiffen. In nativem Python müssen beim Serialisieren der Daten oft grosse Mengen an Objekten erzeugt werden, was sich natürlich negativ auf die Performance auswirkt.
Das normale Pickle halt den Vorteil, daß es die Klassen Pickler und Unpickler bereitstellt von welchen sich Unterklassen ableiten lassen. Im allgemeinen sollte man aber mit den Funktionen von cpickle auskommen.


Gruß

Dookie

re:

Verfasst: Mittwoch 18. Februar 2004, 15:14
von HarryH
Vielen Dank für deine schnelle Antwort, Dookie. :D