msgpack
в Pandas предполагается заменить на pickle
.
Это легкий переносимый двоичный формат, похожий на двоичный JSON, который обладает высокой эффективностью в пространстве и обеспечивает хорошую производительность как на запись (сериализация) и чтение (десериализация).
Я считаю, однако, что его производительность не складывается против рассола.
df = pd.DataFrame(np.random.randn(10000, 100))
>>> %timeit df.to_pickle('test.p')
10 loops, best of 3: 22.4 ms per loop
>>> %timeit df.to_msgpack('test.msg')
10 loops, best of 3: 36.4 ms per loop
>>> %timeit pd.read_pickle('test.p')
100 loops, best of 3: 10.5 ms per loop
>>> %timeit pd.read_msgpack('test.msg')
10 loops, best of 3: 24.6 ms per loop
Вопрос: Пострадавшие от потенциальных проблем безопасности с рассолом, каковы преимущества использования msgpack над рассолом? Является ли рассол еще предпочтительным методом сериализации данных или существуют лучшие альтернативы в настоящее время?