{"id":13912396,"url":"https://github.com/endel/msgpack-benchmark","last_synced_at":"2025-07-03T18:09:20.275Z","repository":{"id":46151769,"uuid":"46585392","full_name":"endel/msgpack-benchmark","owner":"endel","description":"This repository aims to benchmark each msgpack implementation for JavaScript.","archived":false,"fork":false,"pushed_at":"2023-06-23T14:54:59.000Z","size":103,"stargazers_count":13,"open_issues_count":8,"forks_count":10,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-04-12T20:08:41.255Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/endel.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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}},"created_at":"2015-11-20T20:34:18.000Z","updated_at":"2024-06-14T05:13:50.000Z","dependencies_parsed_at":"2024-06-12T08:38:10.674Z","dependency_job_id":null,"html_url":"https://github.com/endel/msgpack-benchmark","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/endel/msgpack-benchmark","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/endel%2Fmsgpack-benchmark","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/endel%2Fmsgpack-benchmark/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/endel%2Fmsgpack-benchmark/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/endel%2Fmsgpack-benchmark/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/endel","download_url":"https://codeload.github.com/endel/msgpack-benchmark/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/endel%2Fmsgpack-benchmark/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":263376125,"owners_count":23457333,"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-08-07T01:01:24.717Z","updated_at":"2025-07-03T18:09:20.251Z","avatar_url":"https://github.com/endel.png","language":"JavaScript","readme":"# msgpack benchmarks for JavaScript\n\n[![Build Status](https://travis-ci.org/endel/msgpack-benchmark.svg?branch=master)](https://travis-ci.org/endel/msgpack-benchmark)\n\nThis repository aims to benchmark each msgpack implementation for JavaScript.\n\nThere is four input files to encode/decode.\n\n- [datatypes](sample-datatypes.json) - 1305 bytes\n- [small](sample-small.json) - 68 bytes\n- [medium](sample-medium.json) - 250 bytes\n- [large](sample-large.json) - 9237 bytes\n\nMsgPack implementations:\n\n- [msgpackr](https://www.npmjs.com/package/msgpackr)\n- [@msgpack/msgpack](https://www.npmjs.com/package/@msgpack/msgpack)\n- [msgpack](https://www.npmjs.com/package/msgpack)\n- [msgpack-js-v5](https://www.npmjs.com/package/msgpack-js-v5)\n- [msgpack-lite](https://www.npmjs.com/package/msgpack-lite)\n- [msgpack5](https://www.npmjs.com/package/msgpack5)\n- [notepack](https://www.npmjs.com/package/notepack)\n- [notepack.io](https://www.npmjs.com/package/notepack.io)\n- [what-the-pack](https://www.npmjs.com/package/what-the-pack)\n\n## Benchmarks\n\nResults are using Node v16.14.0 on MacBook Pro (M1, 2020).\n\n### sample-datatypes.json\n\n - Encoding winner: `msgpackr`\n - Decoding winner: `JSON`\n\n\u003ctable\u003e\n\u003ctr\u003e\u003cth\u003eEncoding\u003c/th\u003e\u003cth\u003eDecoding\u003c/th\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd\u003e\n\n| Implementation | ops/sec |\n| ------------- | ------- |\n| `msgpackr` | 519,030 |\n| `JSON` | 328,367 |\n| `notepack.io` | 285,528 |\n| `what-the-pack (browser)` | 284,308 |\n| `@msgpack/msgpack` | 260,240 |\n| `what-the-pack` | 254,762 |\n| `notepack` | 238,226 |\n| `notepack.io (browser)` | 199,181 |\n| `msgpack-lite` | 155,759 |\n| `msgpack5` | 73,907 |\n| `msgpack-js-v5` | 37,626 |\n\n\u003c/td\u003e\u003ctd\u003e\n\n| Implementation | ops/sec |\n| ------------- | ------- |\n| `JSON` | 489,645 |\n| `msgpackr` | 274,537 |\n| `@msgpack/msgpack` | 210,725 |\n| `what-the-pack (browser)` | 159,898 |\n| `what-the-pack` | 159,527 |\n| `notepack.io (browser)` | 149,917 |\n| `notepack.io` | 149,272 |\n| `notepack` | 142,453 |\n| `msgpack-js-v5` | 134,128 |\n| `msgpack-lite` | 92,610 |\n| `msgpack5` | 66,461 |\n\n\u003c/td\u003e\u003c/tr\u003e \u003c/table\u003e\n\n### sample-small.json\n\n - Encoding winner: `msgpackr`\n - Decoding winner: `msgpackr`\n\n\u003ctable\u003e\n\u003ctr\u003e\u003cth\u003eEncoding\u003c/th\u003e\u003cth\u003eDecoding\u003c/th\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd\u003e\n\n| Implementation | ops/sec |\n| ------------- | ------- |\n| `msgpackr` | 3,296,833 |\n| `notepack.io` | 2,754,635 |\n| `JSON` | 2,447,656 |\n| `notepack` | 2,380,863 |\n| `what-the-pack (browser)` | 2,356,787 |\n| `what-the-pack` | 1,994,327 |\n| `@msgpack/msgpack` | 1,454,569 |\n| `notepack.io (browser)` | 1,453,012 |\n| `msgpack-lite` | 628,253 |\n| `msgpack-js-v5` | 617,212 |\n| `msgpack5` | 425,951 |\n\n\u003c/td\u003e\u003ctd\u003e\n\n| Implementation | ops/sec |\n| ------------- | ------- |\n| `msgpackr` | 4,037,031 |\n| `JSON` | 2,498,714 |\n| `notepack` | 2,390,280 |\n| `@msgpack/msgpack` | 2,256,549 |\n| `notepack.io (browser)` | 2,076,171 |\n| `what-the-pack` | 1,809,675 |\n| `what-the-pack (browser)` | 1,795,122 |\n| `notepack.io` | 1,768,158 |\n| `msgpack-js-v5` | 1,487,882 |\n| `msgpack-lite` | 872,539 |\n| `msgpack5` | 629,429 |\n\n\u003c/td\u003e\u003c/tr\u003e \u003c/table\u003e\n\n### sample-medium.json\n\n - Encoding winner: `JSON`\n - Decoding winner: `JSON`\n\n\u003ctable\u003e\n\u003ctr\u003e\u003cth\u003eEncoding\u003c/th\u003e\u003cth\u003eDecoding\u003c/th\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd\u003e\n\n| Implementation | ops/sec |\n| ------------- | ------- |\n| `JSON` | 1,452,513 |\n| `msgpackr` | 1,319,836 |\n| `notepack.io` | 910,529 |\n| `what-the-pack (browser)` | 802,090 |\n| `notepack.io (browser)` | 743,235 |\n| `notepack` | 701,198 |\n| `what-the-pack` | 680,024 |\n| `@msgpack/msgpack` | 651,136 |\n| `msgpack-lite` | 324,384 |\n| `msgpack5` | 207,193 |\n| `msgpack-js-v5` | 169,692 |\n\n\u003c/td\u003e\u003ctd\u003e\n\n| Implementation | ops/sec |\n| ------------- | ------- |\n| `JSON` | 1,302,597 |\n| `msgpackr` | 1,148,712 |\n| `@msgpack/msgpack` | 908,896 |\n| `notepack.io (browser)` | 622,931 |\n| `what-the-pack (browser)` | 500,688 |\n| `notepack.io` | 495,854 |\n| `what-the-pack` | 490,752 |\n| `notepack` | 482,038 |\n| `msgpack-js-v5` | 417,884 |\n| `msgpack-lite` | 268,590 |\n| `msgpack5` | 236,800 |\n\n\u003c/td\u003e\u003c/tr\u003e \u003c/table\u003e\n\n### sample-large.json\n\n - Encoding winner: `JSON`\n - Decoding winner: `JSON`\n\n\u003ctable\u003e\n\u003ctr\u003e\u003cth\u003eEncoding\u003c/th\u003e\u003cth\u003eDecoding\u003c/th\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd\u003e\n\n| Implementation | ops/sec |\n| ------------- | ------- |\n| `JSON` | 68,796 |\n| `msgpackr` | 51,768 |\n| `notepack.io` | 32,315 |\n| `what-the-pack (browser)` | 31,649 |\n| `notepack` | 29,389 |\n| `notepack.io (browser)` | 29,194 |\n| `what-the-pack` | 28,273 |\n| `@msgpack/msgpack` | 28,154 |\n| `msgpack-lite` | 22,422 |\n| `msgpack5` | 13,324 |\n| `msgpack-js-v5` | 8,006 |\n\n\u003c/td\u003e\u003ctd\u003e\n\n| Implementation | ops/sec |\n| ------------- | ------- |\n| `JSON` | 77,276 |\n| `msgpackr` | 67,232 |\n| `@msgpack/msgpack` | 26,583 |\n| `notepack.io` | 25,326 |\n| `what-the-pack` | 24,755 |\n| `what-the-pack (browser)` | 24,589 |\n| `notepack` | 23,734 |\n| `msgpack-js-v5` | 21,752 |\n| `notepack.io (browser)` | 19,927 |\n| `msgpack-lite` | 12,912 |\n| `msgpack5` | 12,315 |\n\n\u003c/td\u003e\u003c/tr\u003e \u003c/table\u003e\n\n## Running the benchmarks:\n\n```\nnpm install\nnpm start\n```\n\n## License\n\nMIT\n","funding_links":[],"categories":["others"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fendel%2Fmsgpack-benchmark","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fendel%2Fmsgpack-benchmark","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fendel%2Fmsgpack-benchmark/lists"}