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
cpickle Problem: Stack Overflow
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.fililu hat geschrieben:Sind beide Module wirklich absolut kompatibel?
@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.
@fililu: Ja die sind kompatibel.