Seite 1 von 1

cpickle Problem: Stack Overflow

Verfasst: Mittwoch 29. Dezember 2010, 19:33
von fililu
Hallo,

ich habe folgendes Problem:
In meinem Programm wird eine relativ komplexe Ansammlung von unterschiedlichen Objekten (mehr als 5000 in Listen usw., vielfach mit zyklischen Referenzen) anstandslos mit cpickle (Python 2.5.4) serialisiert. Füge ich nun eine gewisse Anzahl von Objekten (etwa 1000) hinzu, die auf bestehende Objekte referenzieren und von diesen auch referenziert werden, dann funktioniert die Serialisierung nicht mehr: MemoryError: Stack Overflow.
Das Verändern der max. Rekursionstiefe (2000) bleibt wirkungslos.
Verzichte ich auf Referenzen auf bestehende Objekte, gibt es kein Problem.

Wenn ich Python 2.7 verwende, funktioniert das Serialisieren auch nach der Veränderung ohne Probleme. Allerdings kann ich nicht umsteigen, da dann alle Oberflächen angepasst werden müssten. Der Aufwand würde in keinem Verhältnis stehen.

Vielleicht kann mir jemand helfen?

Mit freundlichen Grüßen
fililu

Re: cpickle Problem: Stack Overflow

Verfasst: Mittwoch 29. Dezember 2010, 20:46
von BlackJack
@fililu: Wie sieht es aus, wenn Du `pickle` statt `cpickle` verwendest?

Re: cpickle Problem: Stack Overflow

Verfasst: Mittwoch 29. Dezember 2010, 21:27
von fililu
Hallo BlackJack,

vielen Dank für den Tipp. Es scheint problemlos zu funktionieren.
Sind beide Module wirklich absolut kompatibel?

Viele Grüße
fililu

Re: cpickle Problem: Stack Overflow

Verfasst: Mittwoch 29. Dezember 2010, 21:36
von DasIch
fililu hat geschrieben:Sind beide Module wirklich absolut kompatibel?
Wenn sie zueinander kompatibel wären würde es mit pickle auch nicht funktionieren. Die Unterschiede sollten im Detail in der Dokumentation erwähnt sein.

Re: cpickle Problem: Stack Overflow

Verfasst: Mittwoch 29. Dezember 2010, 21:43
von BlackJack
@DasIch: Kompatibel heisst doch nicht, dass sie die selbe Implementierung haben, sondern dass man die Daten zwischen beiden austauschen kann. Und das sollte gegeben sein.

@fililu: Ja die sind kompatibel.

Re: cpickle Problem: Stack Overflow

Verfasst: Mittwoch 29. Dezember 2010, 23:58
von fililu
Danke!