Skip to main content

benchmark of ssrJSON

Project description

ssrJSON-benchmark

PyPI - Version PyPI - Wheel

The ssrJSON benchmark repository.

Benchmark Results

The benchmark results can be found in website results or GitHub results. Contributing your benchmark result is welcomed.

Quick jump for

Usage

# you may need to install `svglib`, `reportlab` and `py-cpuinfo` as well
pip install ssrjson-benchmark
python -m ssrjson_benchmark

Benchmark options

usage: python -m ssrjson_benchmark [-h] [-f FILE] [-d IN_DIR] [-m] [--no-pdf] [--process-gigabytes PROCESS_GIGABYTES]
                   [--bin-process-megabytes BIN_PROCESS_MEGABYTES] [--out-dir OUT_DIR]

options:
  -h, --help            show this help message and exit
  -f, --file FILE       Use a result JSON file generated in previous benchmark to print report. Will skip all tests.
  -d, --in-dir IN_DIR   Benchmark JSON files directory. If not provided, use the files bundled in this package.
  -m, --markdown        Generate Markdown report
  --no-pdf              Don't generate PDF report
  --process-gigabytes PROCESS_GIGABYTES
                        Total gigabytes to process per test case, default 0.1 (float)
  --bin-process-megabytes BIN_PROCESS_MEGABYTES
                        Maximum bytes to process per bin, default 32 (int)
  --out-dir OUT_DIR     Output directory for reports

Notes

  • This repository conducts benchmarking using json, ujson, msgspec, orjson, and ssrJSON. The benchmark for dumps_to_str aims to produce a str object. If a JSON library's dumps-related interface only outputs a bytes object, it will be substituted with dumps followed by a single decode("utf-8") operation. Similarly, for the dumps_to_bytes test, if the JSON library's dumps-related interface only outputs a str object, it will be replaced with dumps followed by a single encode("utf-8") operation.
  • To ensure the accuracy of benchmark results, this repository differentiates between scenarios with and without UTF-8 caches when testing dumps_to_bytes. For dumps_to_str and loads, since these methods are unrelated to encoding str objects to UTF-8, the data sources do not involve any UTF-8 cache, and no distinction is made in their tests.
    • Cache writing of ssrJSON is disabled globally when running benchmark.
    • We use orjson.dumps to create UTF-8 cache for all benchmark targets.
    • Test with UTF-8 cache is skipped when the whole JSON object is ASCII.
  • The performance of JSON encoding is primarily constrained by the speed of writing to the buffer, whereas decoding performance is mainly limited by the frequent invocation of CPython interfaces for object creation. During decoding, both ssrJSON and orjson employ short key caching to reduce the number of object creations, and this caching mechanism is global in both libraries. As a result, decoding benchmark tests may not accurately reflect the conditions encountered in real-world production environments.
  • The files simple_object.json and simple_object_zh.json do not represent real-world data; they are used to compare the performance of the fast path. Therefore, the benchmark results from these test cases should not be interpreted as indicative of actual performance in production environment.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ssrjson_benchmark-0.0.9.tar.gz (961.7 kB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

ssrjson_benchmark-0.0.9-cp314-cp314-win_amd64.whl (1.0 MB view details)

Uploaded CPython 3.14Windows x86-64

ssrjson_benchmark-0.0.9-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (991.6 kB view details)

Uploaded CPython 3.14manylinux: glibc 2.17+ x86-64

ssrjson_benchmark-0.0.9-cp313-cp313-win_amd64.whl (995.8 kB view details)

Uploaded CPython 3.13Windows x86-64

ssrjson_benchmark-0.0.9-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (991.6 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

ssrjson_benchmark-0.0.9-cp312-cp312-win_amd64.whl (995.8 kB view details)

Uploaded CPython 3.12Windows x86-64

ssrjson_benchmark-0.0.9-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (991.6 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

ssrjson_benchmark-0.0.9-cp311-cp311-win_amd64.whl (995.8 kB view details)

Uploaded CPython 3.11Windows x86-64

ssrjson_benchmark-0.0.9-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (991.4 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

ssrjson_benchmark-0.0.9-cp310-cp310-win_amd64.whl (995.8 kB view details)

Uploaded CPython 3.10Windows x86-64

ssrjson_benchmark-0.0.9-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (991.4 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

File details

Details for the file ssrjson_benchmark-0.0.9.tar.gz.

File metadata

  • Download URL: ssrjson_benchmark-0.0.9.tar.gz
  • Upload date:
  • Size: 961.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for ssrjson_benchmark-0.0.9.tar.gz
Algorithm Hash digest
SHA256 b5c992d072da288102c43f507ed7737c474577c84accaa33646421e73d685356
MD5 1f5ff03ce8249b29bb82429e34e0e062
BLAKE2b-256 b2d77ad46b9dfa189e4a8005b19b20e0adcf054dae4a99a429d922bb2c341b01

See more details on using hashes here.

Provenance

The following attestation bundles were made for ssrjson_benchmark-0.0.9.tar.gz:

Publisher: release-wheel.yaml on Nambers/ssrJSON-benchmark

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ssrjson_benchmark-0.0.9-cp314-cp314-win_amd64.whl.

File metadata

File hashes

Hashes for ssrjson_benchmark-0.0.9-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 013c06674497c6ba248c597fc7e05aca8060f08701641664b58f1963653413d8
MD5 11871d8c9c4a0d32f514166385d3e3ae
BLAKE2b-256 151e0111fef66ce422dfdfa4a25dafcfe3b2fc56f3c8795b6262aa884c775d01

See more details on using hashes here.

Provenance

The following attestation bundles were made for ssrjson_benchmark-0.0.9-cp314-cp314-win_amd64.whl:

Publisher: release-wheel.yaml on Nambers/ssrJSON-benchmark

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ssrjson_benchmark-0.0.9-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.whl.

File metadata

File hashes

Hashes for ssrjson_benchmark-0.0.9-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 42a21a1b1f38e8bf8c801a43ad729c496f53597e34246fbf7c87ea3c452049ca
MD5 c36ed1ee1f0123b37e573910bbbba7c5
BLAKE2b-256 22d985ff2bbc81a939ed8377d1c97e1ae661a9c6b31adfa7c9f5b004d2536d66

See more details on using hashes here.

Provenance

The following attestation bundles were made for ssrjson_benchmark-0.0.9-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.whl:

Publisher: release-wheel.yaml on Nambers/ssrJSON-benchmark

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ssrjson_benchmark-0.0.9-cp313-cp313-win_amd64.whl.

File metadata

File hashes

Hashes for ssrjson_benchmark-0.0.9-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 b2f8274c14936f639a13216790d270251d54da80b5ef47792884a5a1ca9bbda3
MD5 f591cb081171b9213a9a9314bc9b9f9d
BLAKE2b-256 d2019548b9d2ee1a34636481867fe60454859b938b6247a686a0b44e1b6058a2

See more details on using hashes here.

Provenance

The following attestation bundles were made for ssrjson_benchmark-0.0.9-cp313-cp313-win_amd64.whl:

Publisher: release-wheel.yaml on Nambers/ssrJSON-benchmark

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ssrjson_benchmark-0.0.9-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl.

File metadata

File hashes

Hashes for ssrjson_benchmark-0.0.9-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 9aba02f5babc4a3c437878e624871e1a7999137ee7184abee82e215e62c75cb2
MD5 248e9537432e9db2f40dcd7215f72965
BLAKE2b-256 0bd03a271ff5fe35b1924f787c9a11086e4ba9bcb694ab0687f7453bc945d525

See more details on using hashes here.

Provenance

The following attestation bundles were made for ssrjson_benchmark-0.0.9-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl:

Publisher: release-wheel.yaml on Nambers/ssrJSON-benchmark

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ssrjson_benchmark-0.0.9-cp312-cp312-win_amd64.whl.

File metadata

File hashes

Hashes for ssrjson_benchmark-0.0.9-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 4449c6347261b6be79a1cc3efeb9510d1f5659a3f8024103c8451f4c4ba3bfc4
MD5 9d12db4952a50db6164226cbcca9b47f
BLAKE2b-256 f23902f8d2f0e9a52b34963ec23d6a52774feb1865f00c1bb64c04fdb629f844

See more details on using hashes here.

Provenance

The following attestation bundles were made for ssrjson_benchmark-0.0.9-cp312-cp312-win_amd64.whl:

Publisher: release-wheel.yaml on Nambers/ssrJSON-benchmark

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ssrjson_benchmark-0.0.9-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl.

File metadata

File hashes

Hashes for ssrjson_benchmark-0.0.9-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 66cacd1599e308a6281cba6dc368c089506357525cbb93b893c66ddec374d6c0
MD5 350cc8cac1b55f0df8adb693cc3bf055
BLAKE2b-256 ebe48c1d8ca2a86eb9b46080bf13f7f0f8c2e2b7e2dad23d9eef43ed39c014a9

See more details on using hashes here.

Provenance

The following attestation bundles were made for ssrjson_benchmark-0.0.9-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl:

Publisher: release-wheel.yaml on Nambers/ssrJSON-benchmark

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ssrjson_benchmark-0.0.9-cp311-cp311-win_amd64.whl.

File metadata

File hashes

Hashes for ssrjson_benchmark-0.0.9-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 e187aea2ec818302d35b3f9a08f2fc9d2e7f8988eccbac21c6dad75501fccd66
MD5 b4f592c3da664e288cc2a43969acbb01
BLAKE2b-256 4c5552a3c89d60c1b9df7590192e1d9e047cf055fd86b08d2e636a0c69204dc0

See more details on using hashes here.

Provenance

The following attestation bundles were made for ssrjson_benchmark-0.0.9-cp311-cp311-win_amd64.whl:

Publisher: release-wheel.yaml on Nambers/ssrJSON-benchmark

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ssrjson_benchmark-0.0.9-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl.

File metadata

File hashes

Hashes for ssrjson_benchmark-0.0.9-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 0539c31aa376cdff15841306a2ceb1b113889649f7869eb6139a050947a6c95c
MD5 a3f7a183956143eef7b24fafc4e1af3a
BLAKE2b-256 d584720093fd17784db422dd5658cdf7dace927f960bf7587209415a552127b2

See more details on using hashes here.

Provenance

The following attestation bundles were made for ssrjson_benchmark-0.0.9-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl:

Publisher: release-wheel.yaml on Nambers/ssrJSON-benchmark

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ssrjson_benchmark-0.0.9-cp310-cp310-win_amd64.whl.

File metadata

File hashes

Hashes for ssrjson_benchmark-0.0.9-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 c04db43eecc75a9a07c2eca3bb1644970db8f8bba8f4ed61d1b5a6f52a23d7fd
MD5 bf6bad649a9e5a1f7700c8f44b8dff1b
BLAKE2b-256 1542f29a05e466d34353a0e45ee8e4e5e306efe6c1bed9e92cf972c87639f9e3

See more details on using hashes here.

Provenance

The following attestation bundles were made for ssrjson_benchmark-0.0.9-cp310-cp310-win_amd64.whl:

Publisher: release-wheel.yaml on Nambers/ssrJSON-benchmark

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ssrjson_benchmark-0.0.9-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl.

File metadata

File hashes

Hashes for ssrjson_benchmark-0.0.9-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 43c2cea7c916600a4e95c0129e3ad9de72ae8162e8a27c4a066712bc9e7f865c
MD5 1ffde7d7999cf3a034c833ac4b667bcb
BLAKE2b-256 39cc4e345ae6dded973081aaeb1ffc5b052303c7ba166d357555f39f7b131ddc

See more details on using hashes here.

Provenance

The following attestation bundles were made for ssrjson_benchmark-0.0.9-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl:

Publisher: release-wheel.yaml on Nambers/ssrJSON-benchmark

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page