{"id":36699810,"url":"https://github.com/mike-seger/json-tool-benchmarks","last_synced_at":"2026-01-12T11:37:12.581Z","repository":{"id":210540117,"uuid":"726790087","full_name":"mike-seger/json-tool-benchmarks","owner":"mike-seger","description":"A benchark between several JSON processing tools,","archived":false,"fork":false,"pushed_at":"2023-12-10T18:07:03.000Z","size":28044,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2024-05-01T07:45:02.924Z","etag":null,"topics":["benchmark","golang","java","javascript","jmespath","json","node","rust"],"latest_commit_sha":null,"homepage":"","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mike-seger.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2023-12-03T12:13:39.000Z","updated_at":"2023-12-10T17:22:09.000Z","dependencies_parsed_at":"2023-12-09T19:38:55.593Z","dependency_job_id":null,"html_url":"https://github.com/mike-seger/json-tool-benchmarks","commit_stats":null,"previous_names":["mike-seger/json-tool-benchmarks"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/mike-seger/json-tool-benchmarks","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mike-seger%2Fjson-tool-benchmarks","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mike-seger%2Fjson-tool-benchmarks/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mike-seger%2Fjson-tool-benchmarks/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mike-seger%2Fjson-tool-benchmarks/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mike-seger","download_url":"https://codeload.github.com/mike-seger/json-tool-benchmarks/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mike-seger%2Fjson-tool-benchmarks/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28338971,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-12T10:58:46.209Z","status":"ssl_error","status_checked_at":"2026-01-12T10:58:42.742Z","response_time":98,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["benchmark","golang","java","javascript","jmespath","json","node","rust"],"created_at":"2026-01-12T11:37:12.509Z","updated_at":"2026-01-12T11:37:12.572Z","avatar_url":"https://github.com/mike-seger.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Compare JSON tool performance\n\nCurrently several JMES implementation are compared.\n\n## Install JP\n\n```\nsudo apt install jp\nor\nbrew install jmespath/jmespath/jp\n```\n\n## Run Benchmarks\n\n```\n./tools/jmespath/run.sh 2\u003e/dev/null | tee /tmp/1 \u0026\u0026 cat /tmp/1 | tools/format.sh ; rm /tmp/1\n./tools/jmespath/run-compliance.sh 2\u003e/dev/null | tee /tmp/1 \u0026\u0026 cat /tmp/1 | tools/format.sh ; rm /tmp/1\n```\n\n## Benchmark Results\n\n### Compliance Tests\n | Benchmark |            n |   jp-java |   jp-graal |   jp-go |   jp-rust |   jp-js |                    \n |--------------|----------:|----------:|-----------:|--------:|----------:|--------:|\n | boolean |        1000000 |        87 |          27 * |        66 |     546 |   766 |              \n | current |          10000 |        41 |          37 * |       117 |    1836 |   1402 |             \n | filters |          10000 |       105 |         37 |       31 * |     132 |   218 |              \n | functions |       100000 |       580 |        131 |      109 * |    1337 |   1415 |             \n | identifiers |      10000 |       260 |          68 * |       245 |    1300 |   3669 |             \n | indices |         100000 |       531 |        193 |      173 * |    1326 |   1234 |             \n | literal |         100000 |        30 |           2 * |        62 |     934 |   1328 |             \n | multiselect |     100000 |       397 |         237 * |       292 |    1006 |   1219 |             \n | slice |           100000 |       795 |         453 * |      1294 |    3070 |   3267 |             \n | syntax |          100000 |       177 |          60 * |       137 |     431 |   1315 |             \n | wildcard |        100000 |      1468 |         975 * |      1192 |    5582 |   5323 |  \n\n### Large Input\n | Benchmark |        n |   jp-java |   jp-graal |   jp-go |   jp-rust |   jp-js |         \n |-----------|---------:|----------:|-----------:|--------:|----------:|--------:|\n | select_attr |    100 |       860 |        552 |      423 * |    9515 |   579 |   \n | sort_by |         10 |       104 |         59 |       45 * |     940 |   83 |    \n | sort |            10 |       392 |        370 |     256 |      1075 |      189 * |     \n | min |             10 |       258 |        142 |       55 * |     915 |   69 |    \n | min_by |          10 |       166 |         69 |       18 * |     916 |   32 |    \n | max |             10 |       258 |        143 |       58 * |     913 |   70 |    \n | max_by |          10 |       172 |         70 |       18 * |     904 |   31 |    \n | contains |        10 |       178 |        149 |      122 * |     981 |   150 |   \n | sum |             10 |       245 |        126 |       58 * |     904 |   71 |    \n | avg |             10 |       253 |        124 |       53 * |     922 |   71 |    \n | reverse |         10 |        36 |         15 |        2 * |     801 |   2 * | \n\n## Links\n\n- https://jmespath.org/\n- https://jmespath.org/libraries.html\n- https://github.com/jmespath/jmespath.test\n- [Compliance Test Results](compliance-test-results.tsv)\n- [Large Input Test Results](large-input-test-results.tsv)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmike-seger%2Fjson-tool-benchmarks","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmike-seger%2Fjson-tool-benchmarks","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmike-seger%2Fjson-tool-benchmarks/lists"}