{"id":19563124,"url":"https://github.com/fasterxml/jackson-benchmarks","last_synced_at":"2025-04-27T00:32:03.600Z","repository":{"id":16840441,"uuid":"19600108","full_name":"FasterXML/jackson-benchmarks","owner":"FasterXML","description":"Project that contains JMH-based micro-benchmarks to help with optimizations","archived":false,"fork":false,"pushed_at":"2025-04-25T02:48:09.000Z","size":819,"stargazers_count":16,"open_issues_count":1,"forks_count":17,"subscribers_count":4,"default_branch":"2.x","last_synced_at":"2025-04-25T03:34:19.132Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Java","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/FasterXML.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,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2014-05-09T05:26:21.000Z","updated_at":"2025-04-25T02:46:00.000Z","dependencies_parsed_at":"2023-11-23T04:38:30.212Z","dependency_job_id":"6c5ab78e-5fd5-4ec8-9223-5945d7514204","html_url":"https://github.com/FasterXML/jackson-benchmarks","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FasterXML%2Fjackson-benchmarks","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FasterXML%2Fjackson-benchmarks/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FasterXML%2Fjackson-benchmarks/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FasterXML%2Fjackson-benchmarks/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/FasterXML","download_url":"https://codeload.github.com/FasterXML/jackson-benchmarks/tar.gz/refs/heads/2.x","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":251072279,"owners_count":21532004,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":[],"created_at":"2024-11-11T05:16:38.488Z","updated_at":"2025-04-27T00:32:03.595Z","avatar_url":"https://github.com/FasterXML.png","language":"Java","readme":"# Overview\n\nThis project contains simple set of performance micro-benchmarks, using excellent\n[JMH](http://openjdk.java.net/projects/code-tools/jmh/) package.\n\n# Status\n\nHas been used since Jackson 2.4 to track performance changes: see various `results-pojo-2.x-home.txt`\nfiles for numbers.\n\n## Usage\n\nTests usually run with\n\n    run-mediaitem.sh\n\nor directly with something like\n\n    java -Xmx256m -jar target/microbenchmarks.jar \".*StdReadVanilla.*PojoMediaItem.*\" -wi 4 -w 1 -i 5 -r 1 -f 3 -t 1\n\n(see `results-pojo-2.13-home.txt` and others for specific invocations used for each group of numbers)\n\n## Profiling\n\nCan use\n\n    ./profile-mediaitem.sh\n\nto use basic JMH settings over runs.\n\n## Test sets\n\n### POJO: MediaItem\n\n`MediaItem` POJO comes from: https://github.com/eishay/jvm-serializers tests suite.\nTest input generated is about 300 bytes as JSON, and between 200 and 500 bytes across other formats (converted from JSON which is considered canonical).\n\nSettings to run tests include:\n\n* Standard: java -Xmx256m -jar target/microbenchmarks.jar \".*StdReadVan.*PojoMedia.*\" -wi 4 -w 1 -i 5 -r 1 -f 9 -t 1\n* Afterburner: java -Xmx256m -jar target/microbenchmarks.jar \".*StdReadAfter.*PojoMedia.*\" -wi 4 -w 1 -i 5 -r 1 -f 9 -t \n1\n\n### POJO: Currency (floating-point (double))\n\n`Currency` POJO, and data file `./json/USD.json` (about 2kB) come from [Awesome JSON Datasets](https://github.com/jdorfman/awesome-json-datasets#currency).\n\nSettings to run tests include:\n\n```\n* Default/JSON: java -Xmx256m -jar target/microbenchmarks.jar \".*JsonStdReadVanilla.readCurrencyPojoDefault.*\" -wi 4 -w 1 -i 5 -r 1 -f 3 -t 1\n* FastFP/JSON: java -Xmx256m -jar target/microbenchmarks.jar \".*JsonStdReadVanilla.readCurrencyPojoFast.*\" -wi 4 -w 1 -i 5 -r 1 -f 3 -t 1\n* All: java -Xmx256m -jar target/microbenchmarks.jar \".*StdReadVanilla.readCurrencyPojo.*\" -wi 4 -w 1 -i 5 -r 1 -f 3 -t 1\n```\n\n### POJO: Currency (BigDecimal)\n\nSame as above, but instead of reading as `double` values are read as `BigDecimal`. Run using\n\n```\n* Default/JSON: java -Xmx256m -jar target/microbenchmarks.jar \".*JsonStdReadVanilla.readCurrencyBigDefault.*\" -wi 4 -w 1 -i 5 -r 1 -f 3 -t 1\n* FastFP/JSON: java -Xmx256m -jar target/microbenchmarks.jar \".*JsonStdReadVanilla.readCurrencyBigFast.*\" -wi 4 -w 1 -i 5 -r 1 -f 3 -t 1\n* All: java -Xmx256m -jar target/microbenchmarks.jar \".*StdReadVanilla.readCurrencyBig.*\" -wi 4 -w 1 -i 5 -r 1 -f 3 -t 1\n```\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffasterxml%2Fjackson-benchmarks","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffasterxml%2Fjackson-benchmarks","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffasterxml%2Fjackson-benchmarks/lists"}