Skip to content

Instantly share code, notes, and snippets.

@lega911
Created July 16, 2024 00:26
Show Gist options
  • Save lega911/5090019b14c92d612db6706a0e3e4aa8 to your computer and use it in GitHub Desktop.
Save lega911/5090019b14c92d612db6706a0e3e4aa8 to your computer and use it in GitHub Desktop.
bson vs json vs pickle
"""
bson.encode 3.905530183998053
bson.decode 2.354907840999658
orjson.dumps 0.35170182900037616
orjson.loads 1.2572932409966597
pickle.dumps 0.9980631790022017
pickle.loads 1.2438834620043053
"""
COUNT = 100000
print('bson.encode', timeit.timeit(lambda: bson.encode(d), number=COUNT))
print('bson.decode', timeit.timeit(lambda: bson.decode(bson_encoded), number=COUNT))
print('orjson.dumps', timeit.timeit(lambda: orjson.dumps(d), number=COUNT))
print('orjson.loads', timeit.timeit(lambda: orjson.loads(json_encoded), number=COUNT))
print('pickle.dumps', timeit.timeit(lambda: pickle.dumps(d), number=COUNT))
print('pickle.loads', timeit.timeit(lambda: pickle.loads(pickle_encoded), number=COUNT))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment