cpickle kontra pickle

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
HarryH
User
Beiträge: 266
Registriert: Freitag 23. Mai 2003, 09:08
Wohnort: Deutschland

Mittwoch 18. Februar 2004, 14:33

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
Gruß, Harry
Dookie
Python-Forum Veteran
Beiträge: 2010
Registriert: Freitag 11. Oktober 2002, 18:00
Wohnort: Salzburg
Kontaktdaten:

Mittwoch 18. Februar 2004, 14:59

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
HarryH
User
Beiträge: 266
Registriert: Freitag 23. Mai 2003, 09:08
Wohnort: Deutschland

Mittwoch 18. Februar 2004, 15:14

Vielen Dank für deine schnelle Antwort, Dookie. :D
Gruß, Harry
Antworten