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.8.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.8-cp314-cp314-win_amd64.whl (1.0 MB view details)

Uploaded CPython 3.14Windows x86-64

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

Uploaded CPython 3.13Windows x86-64

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

Uploaded CPython 3.12Windows x86-64

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

Uploaded CPython 3.11Windows x86-64

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

Uploaded CPython 3.10Windows x86-64

ssrjson_benchmark-0.0.8-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.8.tar.gz.

File metadata

  • Download URL: ssrjson_benchmark-0.0.8.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.8.tar.gz
Algorithm Hash digest
SHA256 874aee4d22d97cc9e150e0071efccb1be0161570a0a13d817222d2014ea83c17
MD5 ddbf2fc798d0102d34d02d0c0449e7fd
BLAKE2b-256 f502e3789054fb45f696e462d04e6fd02e7883df133c062b137bb073245924b7

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for ssrjson_benchmark-0.0.8-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 209ee63e469376c864525c7a2ba5e212bf55549aa1b48344df38b8770cb9c557
MD5 09868ee890fe6b0cb87b6b5dcf5addbf
BLAKE2b-256 038336e442aa22842a9a9f45f47bc1c94774bc04b96f758a54dfffa403ecf10b

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for ssrjson_benchmark-0.0.8-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 c57f2394d19f926a16683ac10655efc497661ba23a3b47ec0c6f41829cc63260
MD5 5e1899cb2a8f77bffcad9c2afecba7de
BLAKE2b-256 8184dd236906c215c853928ffc3b19ecb116d9408687050709825d15fc8f0a4d

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for ssrjson_benchmark-0.0.8-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 0b63b01f6e29917fb43432a3afaa5f974f1a617165cfa3162a667adc95aae26e
MD5 03bab19ba01ebc7a064964defd93259c
BLAKE2b-256 30efefc652667182cdc6697d7e177c46bd1e145d09b775b623976cb4ad63c581

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for ssrjson_benchmark-0.0.8-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 f243cbf3e3782114318e0a9712c5ad988bc4c84eb51cb907b2d804f4286c6c57
MD5 07a07dbd76d58f2c70640ed28112b6e0
BLAKE2b-256 b8d7c73bafde40ba721b8fee258c31dfca4d071dffcee1567f2c1f027f34d5a2

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for ssrjson_benchmark-0.0.8-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 87a4458d1f43e75599ebefbad4175033f35d106794801abd2ec3c62b76f4f756
MD5 400f20e6724d845d668a9e8a06f91e80
BLAKE2b-256 616481437d66346719d1323ba57c93472626c2c6004b7fd8eb4afac5a692136c

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for ssrjson_benchmark-0.0.8-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 bd7b499cc404be45733eae108b3cc133aaf5442ea20e45bb9c6bc754c3520bc4
MD5 2cae7ac16fe114c0f7bdc4ff24a28ad7
BLAKE2b-256 175d8bd064db0310106d72cc875919bbb05582c60e5926135889b43379b4b33d

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for ssrjson_benchmark-0.0.8-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 7f2f02e632e718a35d09e86ab96a8ab1cf41d98143281f6deb197ea30055ec68
MD5 4a98bc6f35ca08b4aeb3ee651d8d65e6
BLAKE2b-256 1180c2f65a0b7b7ba919ae2a66faf4e1003790373a8ed008368cbf7044e1fc89

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for ssrjson_benchmark-0.0.8-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 a9dedc650ee3d9e77fbda1488e2512d99fa0f795f1d8cdd13978f7673dd7eaa8
MD5 6de8fc8090d5f203b90951e3273ad98d
BLAKE2b-256 061afde88a298d066ce66f5c3584696fd70180eb6fed7ea588f161e60c340ce6

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for ssrjson_benchmark-0.0.8-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 a8b3cdd3744b004dafdf5ab1b4bfaa76e1a58da17bcb20a36c01ab0ec4e36455
MD5 1ec0300f36ba9eed8e37d7677df09f86
BLAKE2b-256 0562d859350f91b3d83d01f1c06626b38addb7578b2f542b6dbfe3c325bd6c07

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for ssrjson_benchmark-0.0.8-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 86e4fd64765a6a91a96ac7d6e543283c70331e22661c044ca0a4220a6c9306e1
MD5 54c9058c1400c6efdb6acff6441f53ce
BLAKE2b-256 821f671fa6bcca37e3ab3a96cc12e6c7bacfc9beb6da7adbfadc07b140279665

See more details on using hashes here.

Provenance

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