목차

Serialization

Pickle 및 유사 모듈

Cap'n Proto

Msgepack

numpy 직렬화

import msgpack
import msgpack_numpy as m
import numpy as np
import sys
 
x = np.random.rand(100)
sys.getsizeof(x)  # 896
 
x_enc = msgpack.packb(x, default=m.encode)  # 14.1 µs ± 32.4 ns
x_rec = msgpack.unpackb(x_enc, object_hook=m.decode)  # 3.33 µs ± 19.8 ns
sys.getsizeof(x_enc)  # 869
 
x_str = x.tostring()  # 151 ns ± 0.879 ns
x_rec = np.frombuffer(x_str)  # 347 ns ± 4.18 ns
sys.getsizeof(x_str)  # 833

Snappy