1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
|
#!/usr/bin/env python3
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
# Copyright ijl (2018-2025), Aarni Koskela (2021)
import sys
import lzma
import os
import gc
if hasattr(os, "sched_setaffinity"):
os.sched_setaffinity(os.getpid(), {0, 1})
from orjson import dumps, loads
filename = sys.argv[1]
n = int(sys.argv[3]) if len(sys.argv) >= 4 else 1000
with lzma.open(filename, "r") as fileh:
file_bytes = fileh.read()
if hasattr(gc, "freeze"):
gc.freeze()
if hasattr(gc, "disable"):
gc.disable()
if sys.argv[2] == "dumps":
file_obj = loads(file_bytes)
for _ in range(n):
_ = dumps(file_obj)
elif sys.argv[2] == "loads":
for _ in range(n):
_ = loads(file_bytes)
|