ich wollte fragen ob es eine Alternative zu cPickle gibt? Es sollte möglichst schnell sein und Dictionaries abspeichern/laden können.
Ach ja, kein MySQL

dankö schonmal,
t0m
Hi t0m!t0m hat geschrieben:ich wollte fragen ob es eine Alternative zu cPickle gibt? Es sollte möglichst schnell sein und Dictionaries abspeichern/laden können.
Code: Alles auswählen
Differences between XMarshaL and xml.marshal.generic
----------------------------------------------------
1) Speeeeed: the xml-string and substrings are constructed by string
interpolation where possible, not by joining string lists. This is
much faster for some types of objects like large sequences.
Dumping a large list object (x = range(100000)) with some different
methods shows the difference (my machine, Linux, Python 2.3b2):
Method : dump time, speed factor, string size
________________________________________________
marshal : 0.01 s, 0.01, 500005 bytes
cPickle : 0.09 s, 0.11, 788896 bytes
pickle : 0.93 s, 1.18, 788896 bytes
XMarshaL: 0.79 s, 1.00, 1589008 bytes
gnosis : 3.99 s, 5.05, 3989099 bytes
PyXML : 806.70 s, 1021.14, 1588951 bytes
Ok, there's no chance for XMarshaL to compare with marshal or
cPickle, but speed is comparable with pickle and even faster than
gnosis. And xml.marshal.generic seems to have a serious
performance problem!
Ich weiss, "Warum"-Fragen sind böse... aber warum suchst Du eine Alternative?t0m hat geschrieben:ich wollte fragen ob es eine Alternative zu cPickle gibt? Es sollte möglichst schnell sein und Dictionaries abspeichern/laden können.
gibt:Leonidas hat geschrieben:Edit: Siehe auch die passende Kategorie (serialization+python) im Comprehensive Bookmark Archive
no results for this query
Ich habe die URL nun oben korrigiert.jens hat geschrieben:gibt:Leonidas hat geschrieben:Edit: Siehe auch die passende Kategorie (serialization+python) im Comprehensive Bookmark Archiveno results for this query
Nun ja, ich muss alle paar Minuten (oder sogar alle 30sek) ein relativ großes Dictionary abspeichern. Jetzt möchte ich natürlich das das so schnell wie möglich geht..BlackJack hat geschrieben:Ich weiss, "Warum"-Fragen sind böse... aber warum suchst Du eine Alternative?t0m hat geschrieben:ich wollte fragen ob es eine Alternative zu cPickle gibt? Es sollte möglichst schnell sein und Dictionaries abspeichern/laden können.
In diesem Falle wäre es glaube ich sinnvoller ein ORM zu nutzen: Vorteil: du Arbeitest mit Python-Datentypen (Klassen). Weiterer Vorteil: die Daten werden automatisch in der Datenbank gespeichert.t0m hat geschrieben:Nun ja, ich muss alle paar Minuten (oder sogar alle 30sek) ein relativ großes Dictionary abspeichern. Jetzt möchte ich natürlich das das so schnell wie möglich geht..
Object-Relational-Mapping ist (vereinfacht) eine Technik, die es ermöglicht, automatisch Objekte (Klassen) so zu plätten, dass man sie in relationalen Datenbanken speichern kann.t0m hat geschrieben:ORM? Was ist das?
SQLObject 0.7 Doku hat geschrieben:It allows you to translate RDBMS table rows into Python objects, and manipulate those objects to transparently manipulate the database.
Nein, ein ORM ist sicherlich nicht schneller als pickle.BlackJack hat geschrieben:Irgenwie glaube ich nicht so recht daran, dass so ein ORM wesentlich schneller ist als `pickle` da ein ORM grundsätzlich die gleiche Arbeit leisten muss plus Aufbereitung der Daten für die Datenbank und Übermittlung an selbige. An der Stelle "dump"t `pickle` die Daten einfach in eine Datei.
Er hat im ersten post gesagt, dass es moeglichst schnell sein soll - dass es schneller als cPickle sein muss habe ich dort nicht rausgelesen.BlackJack hat geschrieben:Aber schneller als `cPickle` war doch eine Anforderung.