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

Generate report with default config may take roughly 10 minutes. Additionally, we highly recommand to generate report with --process-gigabytes 1 --bin-process-megabytes 32 in large memory modern computer to get more objective and accurate result (will take around 1 hour).

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.25 (float)
  --bin-process-megabytes BIN_PROCESS_MEGABYTES
                        Maximum megabytes to process per bin, default 8 (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.10.tar.gz (961.8 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.10-cp314-cp314-win_amd64.whl (1.0 MB view details)

Uploaded CPython 3.14Windows x86-64

ssrjson_benchmark-0.0.10-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.10-cp313-cp313-win_amd64.whl (995.8 kB view details)

Uploaded CPython 3.13Windows x86-64

ssrjson_benchmark-0.0.10-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.10-cp312-cp312-win_amd64.whl (995.8 kB view details)

Uploaded CPython 3.12Windows x86-64

ssrjson_benchmark-0.0.10-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.10-cp311-cp311-win_amd64.whl (995.8 kB view details)

Uploaded CPython 3.11Windows x86-64

ssrjson_benchmark-0.0.10-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.10-cp310-cp310-win_amd64.whl (995.8 kB view details)

Uploaded CPython 3.10Windows x86-64

ssrjson_benchmark-0.0.10-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.10.tar.gz.

File metadata

  • Download URL: ssrjson_benchmark-0.0.10.tar.gz
  • Upload date:
  • Size: 961.8 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.10.tar.gz
Algorithm Hash digest
SHA256 236113ed37ed71c1e3099a7091573a138aa4d655bc6a8d85f5f6359059d65b0e
MD5 5cde7001f3e1c44a4c134e7af9a05d7d
BLAKE2b-256 b3538120acb2e0cfd011e9713ea1619721b9a1c9be10313bfecf6beced2bfa40

See more details on using hashes here.

Provenance

The following attestation bundles were made for ssrjson_benchmark-0.0.10.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.10-cp314-cp314-win_amd64.whl.

File metadata

File hashes

Hashes for ssrjson_benchmark-0.0.10-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 cf2707e7d5248221a094c1b48736601d12bf490581df2f543058572d4712281a
MD5 0cfb7dd3de84df5f1f24351f184840de
BLAKE2b-256 695a47441f19485e17cd3db3d0a6bfde8eab8703ea64199f1d4a0e7f450c4334

See more details on using hashes here.

Provenance

The following attestation bundles were made for ssrjson_benchmark-0.0.10-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.10-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.whl.

File metadata

File hashes

Hashes for ssrjson_benchmark-0.0.10-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 668c7f328a497c469b70460b8f9094f7ee405ace362a12c1c8f861dba1c79a6b
MD5 437b829ca8ae4e00a8485cf69c923af6
BLAKE2b-256 d057d90a66032f644109fb0c7c37620dbaf3cafe6865bcc72695cf933ed6d9ba

See more details on using hashes here.

Provenance

The following attestation bundles were made for ssrjson_benchmark-0.0.10-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.10-cp313-cp313-win_amd64.whl.

File metadata

File hashes

Hashes for ssrjson_benchmark-0.0.10-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 ae71a7ada46f0457c948a2206a754c15e39a9c5af7c75335aa45d7ce9faf257b
MD5 97498925ec7aa3198d32e7297b261758
BLAKE2b-256 aa22c353535576f72b478811bc1a7e88856b3206e4e73f8f910164c3ad2435b3

See more details on using hashes here.

Provenance

The following attestation bundles were made for ssrjson_benchmark-0.0.10-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.10-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl.

File metadata

File hashes

Hashes for ssrjson_benchmark-0.0.10-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 fb2d53c8b10a9328631bb4367587289818d85537f818df02dfe96ce416d78bc2
MD5 5943e11c4c973175b0eccc455824c52e
BLAKE2b-256 b8295dceac4d76e43bf346214f1102d49b008770afc783a431f70b399afbe803

See more details on using hashes here.

Provenance

The following attestation bundles were made for ssrjson_benchmark-0.0.10-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.10-cp312-cp312-win_amd64.whl.

File metadata

File hashes

Hashes for ssrjson_benchmark-0.0.10-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 abb99bebbfa1835e71e45b16e268608614547abba455c17b8fb4bab153237181
MD5 c43c487fb05a80f9e23f11c6b79a27ef
BLAKE2b-256 cba83dd261934bd844dd76e3d69d3131cc97b50b631701cd5fa495eba3d61e70

See more details on using hashes here.

Provenance

The following attestation bundles were made for ssrjson_benchmark-0.0.10-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.10-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl.

File metadata

File hashes

Hashes for ssrjson_benchmark-0.0.10-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 051a63f05e48dd54224d5e6f16b175b26fa8b05a38a309ffef688ddfe8200051
MD5 09eb9e38a94dd0e1c232c5bc919be970
BLAKE2b-256 d3b951647a5968f1f7dc02f202dfc775da69b75cc4d0a94fab8e80ba9689f194

See more details on using hashes here.

Provenance

The following attestation bundles were made for ssrjson_benchmark-0.0.10-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.10-cp311-cp311-win_amd64.whl.

File metadata

File hashes

Hashes for ssrjson_benchmark-0.0.10-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 1a93ce8632a42db7b38e41d66976fac2b19d2e2ead2bd8d7a9c79a22bcc2100c
MD5 b6f916e68ea3b1e43413e6ba25b409a4
BLAKE2b-256 7c8f796aba04679e300e918aaa7824e75d484ca8e2e4b4da09ea79401521a736

See more details on using hashes here.

Provenance

The following attestation bundles were made for ssrjson_benchmark-0.0.10-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.10-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl.

File metadata

File hashes

Hashes for ssrjson_benchmark-0.0.10-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 0387cf7157effe51f33ab111349af61b6cc40667bf3c680315f94fb5e2fd263a
MD5 43f9175d17acbd47787c2152158cdde3
BLAKE2b-256 0d0f4e2821b9f73dbc25071117ab1cfedd7d19d9b6d82a918b9f70505a05e60f

See more details on using hashes here.

Provenance

The following attestation bundles were made for ssrjson_benchmark-0.0.10-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.10-cp310-cp310-win_amd64.whl.

File metadata

File hashes

Hashes for ssrjson_benchmark-0.0.10-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 c346126d7acdd9d2e81d9120c5b488edd192c9301dfb403b83cb93d6e39350e5
MD5 7164b06483d06c7a395cd8ff6297b247
BLAKE2b-256 3c982809b966f458b763bd554779201a8208e29064dca779cc4a1cda17eb312d

See more details on using hashes here.

Provenance

The following attestation bundles were made for ssrjson_benchmark-0.0.10-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.10-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl.

File metadata

File hashes

Hashes for ssrjson_benchmark-0.0.10-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 ca138c6ba21914650444357c582701641c7b706fc45f1e5b2a902352866a9422
MD5 9d02db5218b500ef475c1fded6cf363a
BLAKE2b-256 8663fca005fe8ceb8ef0e1bd70ac761e42ecfbf72f506e51efb83d105e7145ac

See more details on using hashes here.

Provenance

The following attestation bundles were made for ssrjson_benchmark-0.0.10-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