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