Python ma zarówno moduły pickle
, jak i cPickle
do serializacji.Czy należy używać marynaty lub cPickle?
cPickle
ma oczywistą przewagę nad pickle
: prędkość. Jaką, jeśli jakąkolwiek, przewagę ma pickle
ma ponad cPickle
?
Python ma zarówno moduły pickle
, jak i cPickle
do serializacji.Czy należy używać marynaty lub cPickle?
cPickle
ma oczywistą przewagę nad pickle
: prędkość. Jaką, jeśli jakąkolwiek, przewagę ma pickle
ma ponad cPickle
?
zalewa moduł implementuje algorytm zamiany dowolnej Pythona przedmiot w szeregu bajtów. Ten proces nazywa się również serializacją "obiektu. Strumień bajtów reprezentujący obiekt można następnie przesłać lub zapisać, a następnie zrekonstruować w celu utworzenia nowego obiektu o takich samych właściwościach.
cPickle moduł realizuje ten sam algorytm, w C zamiast Pythonie. Jest wiele razy szybszy niż implementacja Pythona, ale nie pozwala użytkownikowi na podklasę z Pickle. Jeśli podklasowanie nie jest ważne dla twojego zastosowania, prawdopodobnie będziesz chciał użyć cPickle.
Source powyższych informacji.
Znalazłem dotyczące marynatę i cPickle:
„Moduł Marynata implementuje algorytm obracając dowolny obiekt Pythona na szereg bajtów ....
Moduł cPickle implementuje samego algorytmu, w C zamiast Pythonie. jest wiele razy szybciej niż realizacji Python, ale nie pozwala użytkownikowi na podklasy z marynaty.
Jeśli subclassing nie jest ważne do użytku, prawdopodobnie w mrówka do używania cPickle. "
Źródło: https://pymotw.com/2/pickle/
FYI: I downvoted swoje pytanie, bo nie ma czasu, aby typu „marynatę vs cpickle” w wyszukiwarce. – timgeb
Interesujące jest to, że gdy zadano to pytanie, otrzymało 3 downvotes i zostało zamknięte w ciągu 4 godzin. Przez rok od tego czasu otrzymał 7 przegranych i był oglądany ponad 2500 razy ... – user200783
@timgeb To pytanie jest teraz drugim wynikiem Google (dla mnie) za "pickle vs cpickle" – BallpointBen