CoolFace
Datasetpublic

basant307/AI_Governance_Project

sourceHugging Faceapache-2.0updated 2mo agoView on Hugging Face
0likes48downloads
README.md460 linesDownload Raw Back to json-pack
1# json-pack2 3The fastest JSON serialization and deserialization library for JavaScript, Node.js, browser.4 5 6## Supported Formats7 8This library implements the following serialization formats:9 10- **[MessagePack](./src/msgpack/README.md)** - The classic, *MessagePack*11- **[CBOR](./src/cbor/README.md)** - Concise Binary Object Representation codec12- **[UBJSON](./src/ubjson/README.md)** - Universal Binary JSON codec13- **[JSON](./src/json/README.md)** - Enhanced JSON encoder/decoder with additional features14- **[JSON Binary](./src/json-binary/README.md)** - JSON with binary data support using Uint8Array15- **[Amazon Ion](./src/ion/README.md)** - Amazon's Ion data serialization format16- **[BSON](./src/bson/README.md)** - Binary JSON format used by MongoDB17- **[RESP](./src/resp/README.md)** - Redis Serialization Protocol (v2 and v3)18- **[Bencode](./src/bencode/README.md)** - BitTorrent's encoding format19 20Each format comes with optimized encoders and decoders designed for maximum performance.21 22 23## Installation24 25```bash26npm install @jsonjoy.com/json-pack27```28 29 30## Quick Start31 32```ts33import {MessagePackEncoder, MessagePackDecoder} from '@jsonjoy.com/json-pack/lib/msgpack';34 35const encoder = new MessagePackEncoder();36const decoder = new MessagePackDecoder();37 38const data = {hello: 'world', numbers: [1, 2, 3]};39const binary = encoder.encode(data);40const restored = decoder.decode(binary);41 42console.log(restored); // {hello: 'world', numbers: [1, 2, 3]}43```44 45 46## Benchmarks47 48Encoding:49 50```51npx ts-node benchmarks/json-pack/bench.encoding.ts52=============================================================================== Benchmark: Encoding53Warmup: 1000x , Node.js: v20.0.0 , Arch: arm64 , CPU: Apple M154---------------------------------------------------------------------------- Small object, 44 bytes55๐Ÿคž json-pack JsonEncoder x 5,385,617 ops/sec ยฑ0.53% (100 runs sampled)56๐Ÿคž Buffer.from(JSON.stringify()) x 2,254,954 ops/sec ยฑ0.83% (97 runs sampled)57๐Ÿคž json-pack CborEncoderFast x 5,953,159 ops/sec ยฑ1.12% (92 runs sampled)58๐Ÿคž json-pack CborEncoder x 6,248,036 ops/sec ยฑ0.29% (98 runs sampled)59๐Ÿคž json-pack MsgPackEncoderFast x 3,121,940 ops/sec ยฑ0.16% (99 runs sampled)60๐Ÿคž JSON.stringify() x 3,866,116 ops/sec ยฑ0.11% (101 runs sampled)61๐Ÿคž @msgpack/msgpack x 1,406,546 ops/sec ยฑ0.94% (93 runs sampled)62๐Ÿคž msgpackr x 2,404,916 ops/sec ยฑ3.22% (86 runs sampled)63๐Ÿคž cbor-x x 4,737,433 ops/sec ยฑ1.00% (97 runs sampled)64๐Ÿคž msgpack-lite x 987,201 ops/sec ยฑ2.84% (91 runs sampled)65๐Ÿคž msgpack5 x 197,867 ops/sec ยฑ3.65% (84 runs sampled)66๐Ÿคž messagepack x 171,865 ops/sec ยฑ4.44% (74 runs sampled)67Fastest is ๐Ÿคž json-pack CborEncoder68------------------------------------------------------------------------- Typical object, 993 bytes69๐Ÿคž json-pack JsonEncoder x 299,970 ops/sec ยฑ0.30% (97 runs sampled)70๐Ÿคž Buffer.from(JSON.stringify()) x 211,651 ops/sec ยฑ0.18% (100 runs sampled)71๐Ÿคž json-pack CborEncoderFast x 429,535 ops/sec ยฑ3.38% (93 runs sampled)72๐Ÿคž json-pack CborEncoder x 428,848 ops/sec ยฑ0.71% (97 runs sampled)73๐Ÿคž json-pack MsgPackEncoderFast x 322,982 ops/sec ยฑ0.67% (97 runs sampled)74๐Ÿคž JSON.stringify() x 306,828 ops/sec ยฑ1.94% (90 runs sampled)75๐Ÿคž @msgpack/msgpack x 199,937 ops/sec ยฑ5.52% (93 runs sampled)76๐Ÿคž msgpackr x 317,457 ops/sec ยฑ2.18% (90 runs sampled)77๐Ÿคž cbor-x x 401,854 ops/sec ยฑ3.20% (92 runs sampled)78๐Ÿคž msgpack-lite x 135,110 ops/sec ยฑ1.29% (94 runs sampled)79๐Ÿคž msgpack5 x 15,217 ops/sec ยฑ3.72% (85 runs sampled)80๐Ÿคž messagepack x 13,853 ops/sec ยฑ4.73% (71 runs sampled)81Fastest is ๐Ÿคž json-pack CborEncoder82-------------------------------------------------------------------------- Large object, 3741 bytes83๐Ÿคž json-pack JsonEncoder x 87,312 ops/sec ยฑ1.10% (96 runs sampled)84๐Ÿคž Buffer.from(JSON.stringify()) x 64,718 ops/sec ยฑ0.45% (96 runs sampled)85๐Ÿคž json-pack CborEncoderFast x 134,615 ops/sec ยฑ0.19% (97 runs sampled)86๐Ÿคž json-pack CborEncoder x 128,975 ops/sec ยฑ0.20% (98 runs sampled)87๐Ÿคž json-pack MsgPackEncoderFast x 103,325 ops/sec ยฑ1.62% (98 runs sampled)88๐Ÿคž JSON.stringify() x 101,067 ops/sec ยฑ1.36% (95 runs sampled)89๐Ÿคž @msgpack/msgpack x 61,715 ops/sec ยฑ0.22% (98 runs sampled)90๐Ÿคž msgpackr x 95,175 ops/sec ยฑ3.84% (95 runs sampled)91๐Ÿคž cbor-x x 111,658 ops/sec ยฑ1.34% (95 runs sampled)92๐Ÿคž msgpack-lite x 41,364 ops/sec ยฑ0.28% (100 runs sampled)93๐Ÿคž msgpack5 x 3,262 ops/sec ยฑ4.32% (71 runs sampled)94๐Ÿคž messagepack x 4,167 ops/sec ยฑ7.29% (65 runs sampled)95Fastest is ๐Ÿคž json-pack CborEncoderFast96-------------------------------------------------------------------- Very large object, 45750 bytes97๐Ÿคž json-pack JsonEncoder x 5,687 ops/sec ยฑ1.92% (94 runs sampled)98๐Ÿคž Buffer.from(JSON.stringify()) x 5,813 ops/sec ยฑ2.51% (97 runs sampled)99๐Ÿคž json-pack CborEncoderFast x 5,749 ops/sec ยฑ0.67% (98 runs sampled)100๐Ÿคž json-pack CborEncoder x 5,515 ops/sec ยฑ0.70% (98 runs sampled)101๐Ÿคž json-pack MsgPackEncoderFast x 5,027 ops/sec ยฑ0.19% (100 runs sampled)102๐Ÿคž JSON.stringify() x 7,687 ops/sec ยฑ0.87% (99 runs sampled)103๐Ÿคž @msgpack/msgpack x 3,379 ops/sec ยฑ2.20% (97 runs sampled)104๐Ÿคž msgpackr x 5,929 ops/sec ยฑ15.26% (96 runs sampled)105๐Ÿคž cbor-x x 5,032 ops/sec ยฑ5.17% (90 runs sampled)106๐Ÿคž msgpack-lite x 2,173 ops/sec ยฑ1.17% (97 runs sampled)107๐Ÿคž msgpack5 x 179 ops/sec ยฑ2.95% (68 runs sampled)108๐Ÿคž messagepack x 167 ops/sec ยฑ1.09% (79 runs sampled)109Fastest is ๐Ÿคž JSON.stringify()110------------------------------------------------------------------ Object with many keys, 969 bytes111๐Ÿคž json-pack JsonEncoder x 213,447 ops/sec ยฑ3.31% (95 runs sampled)112๐Ÿคž Buffer.from(JSON.stringify()) x 168,303 ops/sec ยฑ2.13% (95 runs sampled)113๐Ÿคž json-pack CborEncoderFast x 275,511 ops/sec ยฑ0.40% (95 runs sampled)114๐Ÿคž json-pack CborEncoder x 270,949 ops/sec ยฑ0.32% (97 runs sampled)115๐Ÿคž json-pack MsgPackEncoderFast x 210,525 ops/sec ยฑ0.66% (99 runs sampled)116๐Ÿคž JSON.stringify() x 200,767 ops/sec ยฑ0.19% (101 runs sampled)117๐Ÿคž @msgpack/msgpack x 163,665 ops/sec ยฑ0.81% (98 runs sampled)118๐Ÿคž msgpackr x 151,889 ops/sec ยฑ0.27% (96 runs sampled)119๐Ÿคž cbor-x x 191,010 ops/sec ยฑ0.44% (96 runs sampled)120๐Ÿคž msgpack-lite x 93,537 ops/sec ยฑ0.68% (99 runs sampled)121๐Ÿคž msgpack5 x 28,581 ops/sec ยฑ1.74% (93 runs sampled)122๐Ÿคž messagepack x 8,330 ops/sec ยฑ5.00% (61 runs sampled)123Fastest is ๐Ÿคž json-pack CborEncoderFast124------------------------------------------------------------------------- String ladder, 3398 bytes125๐Ÿคž json-pack JsonEncoder x 147,755 ops/sec ยฑ0.23% (97 runs sampled)126๐Ÿคž Buffer.from(JSON.stringify()) x 128,378 ops/sec ยฑ0.15% (96 runs sampled)127๐Ÿคž json-pack CborEncoderFast x 298,037 ops/sec ยฑ0.73% (98 runs sampled)128๐Ÿคž json-pack CborEncoder x 293,608 ops/sec ยฑ0.22% (97 runs sampled)129๐Ÿคž json-pack MsgPackEncoderFast x 244,864 ops/sec ยฑ3.92% (92 runs sampled)130๐Ÿคž JSON.stringify() x 165,819 ops/sec ยฑ1.72% (94 runs sampled)131๐Ÿคž @msgpack/msgpack x 79,127 ops/sec ยฑ1.43% (93 runs sampled)132๐Ÿคž msgpackr x 236,254 ops/sec ยฑ1.45% (94 runs sampled)133๐Ÿคž cbor-x x 206,835 ops/sec ยฑ1.26% (92 runs sampled)134๐Ÿคž msgpack-lite x 157,499 ops/sec ยฑ0.39% (98 runs sampled)135๐Ÿคž msgpack5 x 55,363 ops/sec ยฑ2.75% (88 runs sampled)136๐Ÿคž messagepack x 8,261 ops/sec ยฑ2.97% (72 runs sampled)137Fastest is ๐Ÿคž json-pack CborEncoderFast138-------------------------------------------------------------------------- Long strings, 7011 bytes139๐Ÿคž json-pack JsonEncoder x 51,334 ops/sec ยฑ0.16% (99 runs sampled)140๐Ÿคž Buffer.from(JSON.stringify()) x 27,108 ops/sec ยฑ4.89% (90 runs sampled)141๐Ÿคž json-pack CborEncoderFast x 374,042 ops/sec ยฑ6.39% (91 runs sampled)142๐Ÿคž json-pack CborEncoder x 424,864 ops/sec ยฑ0.35% (97 runs sampled)143๐Ÿคž json-pack MsgPackEncoderFast x 363,465 ops/sec ยฑ1.91% (85 runs sampled)144๐Ÿคž JSON.stringify() x 59,793 ops/sec ยฑ0.14% (100 runs sampled)145๐Ÿคž @msgpack/msgpack x 57,373 ops/sec ยฑ0.13% (98 runs sampled)146๐Ÿคž msgpackr x 372,751 ops/sec ยฑ2.17% (90 runs sampled)147๐Ÿคž cbor-x x 389,277 ops/sec ยฑ1.60% (93 runs sampled)148๐Ÿคž msgpack-lite x 170,279 ops/sec ยฑ0.82% (97 runs sampled)149๐Ÿคž msgpack5 x 83,809 ops/sec ยฑ2.80% (83 runs sampled)150๐Ÿคž messagepack x 20,076 ops/sec ยฑ1.45% (87 runs sampled)151Fastest is ๐Ÿคž json-pack CborEncoder152-------------------------------------------------------------------------- Short strings, 170 bytes153๐Ÿคž json-pack JsonEncoder x 1,577,757 ops/sec ยฑ0.16% (98 runs sampled)154๐Ÿคž Buffer.from(JSON.stringify()) x 1,057,420 ops/sec ยฑ0.38% (100 runs sampled)155๐Ÿคž json-pack CborEncoderFast x 1,844,775 ops/sec ยฑ0.20% (100 runs sampled)156๐Ÿคž json-pack CborEncoder x 1,468,011 ops/sec ยฑ0.23% (98 runs sampled)157๐Ÿคž json-pack MsgPackEncoderFast x 1,240,577 ops/sec ยฑ0.19% (98 runs sampled)158๐Ÿคž JSON.stringify() x 1,852,916 ops/sec ยฑ0.20% (100 runs sampled)159๐Ÿคž @msgpack/msgpack x 781,414 ops/sec ยฑ0.42% (92 runs sampled)160๐Ÿคž msgpackr x 1,672,474 ops/sec ยฑ0.23% (99 runs sampled)161๐Ÿคž cbor-x x 1,351,338 ops/sec ยฑ0.20% (97 runs sampled)162๐Ÿคž msgpack-lite x 416,300 ops/sec ยฑ0.76% (96 runs sampled)163๐Ÿคž msgpack5 x 151,657 ops/sec ยฑ1.97% (91 runs sampled)164๐Ÿคž messagepack x 35,124 ops/sec ยฑ5.60% (61 runs sampled)165Fastest is ๐Ÿคž JSON.stringify()166-------------------------------------------------------------------------------- Numbers, 136 bytes167๐Ÿคž json-pack JsonEncoder x 1,708,133 ops/sec ยฑ1.09% (98 runs sampled)168๐Ÿคž Buffer.from(JSON.stringify()) x 1,135,630 ops/sec ยฑ1.67% (95 runs sampled)169๐Ÿคž json-pack CborEncoderFast x 2,658,037 ops/sec ยฑ1.33% (97 runs sampled)170๐Ÿคž json-pack CborEncoder x 3,084,914 ops/sec ยฑ0.24% (101 runs sampled)171๐Ÿคž json-pack MsgPackEncoderFast x 1,620,958 ops/sec ยฑ2.15% (94 runs sampled)172๐Ÿคž JSON.stringify() x 1,602,303 ops/sec ยฑ0.24% (98 runs sampled)173๐Ÿคž @msgpack/msgpack x 997,885 ops/sec ยฑ1.70% (97 runs sampled)174๐Ÿคž msgpackr x 2,659,862 ops/sec ยฑ0.51% (96 runs sampled)175๐Ÿคž cbor-x x 3,116,954 ops/sec ยฑ0.89% (95 runs sampled)176๐Ÿคž msgpack-lite x 892,281 ops/sec ยฑ2.19% (92 runs sampled)177๐Ÿคž msgpack5 x 144,567 ops/sec ยฑ3.06% (88 runs sampled)178๐Ÿคž messagepack x 383,134 ops/sec ยฑ2.95% (74 runs sampled)179Fastest is ๐Ÿคž cbor-x180--------------------------------------------------------------------------------- Tokens, 308 bytes181๐Ÿคž json-pack JsonEncoder x 1,370,517 ops/sec ยฑ0.52% (98 runs sampled)182๐Ÿคž Buffer.from(JSON.stringify()) x 1,016,856 ops/sec ยฑ0.16% (93 runs sampled)183๐Ÿคž json-pack CborEncoderFast x 1,347,193 ops/sec ยฑ0.20% (96 runs sampled)184๐Ÿคž json-pack CborEncoder x 1,353,358 ops/sec ยฑ0.20% (101 runs sampled)185๐Ÿคž json-pack MsgPackEncoderFast x 1,130,418 ops/sec ยฑ0.14% (96 runs sampled)186๐Ÿคž JSON.stringify() x 1,549,669 ops/sec ยฑ0.49% (97 runs sampled)187๐Ÿคž @msgpack/msgpack x 871,477 ops/sec ยฑ0.92% (98 runs sampled)188๐Ÿคž msgpackr x 1,716,378 ops/sec ยฑ0.20% (99 runs sampled)189๐Ÿคž cbor-x x 1,951,639 ops/sec ยฑ0.16% (100 runs sampled)190๐Ÿคž msgpack-lite x 622,495 ops/sec ยฑ1.03% (96 runs sampled)191๐Ÿคž msgpack5 x 81,727 ops/sec ยฑ2.04% (91 runs sampled)192๐Ÿคž messagepack x 609,651 ops/sec ยฑ1.64% (89 runs sampled)193Fastest is ๐Ÿคž cbor-x194```195 196Decoding:197 198```199node benchmarks/json-pack/bench.decoding.js200=============================================================================== Benchmark: Decoding201Warmup: 1000x , Node.js: v16.14.2 , Arch: arm64 , CPU: Apple M1202-------------------------------------------------------------------- Very large object, 45750 bytes203๐Ÿ‘ JSON.parse() x 3,506 ops/sec ยฑ0.19% (100 runs sampled)204๐Ÿ‘ sjson.parse() x 3,336 ops/sec ยฑ0.11% (99 runs sampled)205๐Ÿ‘ json-pack CborDecoderBase x 4,915 ops/sec ยฑ0.18% (100 runs sampled)206๐Ÿ‘ cbor-x x 4,747 ops/sec ยฑ0.15% (100 runs sampled)207๐Ÿ‘ cbor x 260 ops/sec ยฑ0.29% (90 runs sampled)208๐Ÿ‘ json-pack MsgPackDecoderFast x 5,506 ops/sec ยฑ0.48% (100 runs sampled)209๐Ÿ‘ msgpackr x 4,729 ops/sec ยฑ0.23% (101 runs sampled)210๐Ÿ‘ @msgpack/msgpack x 4,096 ops/sec ยฑ0.25% (100 runs sampled)211๐Ÿ‘ msgpack5 x 920 ops/sec ยฑ0.34% (99 runs sampled)212๐Ÿ‘ msgpack-lite x 1,223 ops/sec ยฑ0.10% (100 runs sampled)213๐Ÿ‘ messagepack x 194 ops/sec ยฑ1.93% (73 runs sampled)214Fastest is ๐Ÿ‘ json-pack MsgPackDecoderFast215-------------------------------------------------------------------------- Large object, 3741 bytes216๐Ÿ‘ JSON.parse() x 91,582 ops/sec ยฑ0.30% (100 runs sampled)217๐Ÿ‘ sjson.parse() x 84,411 ops/sec ยฑ0.16% (99 runs sampled)218๐Ÿ‘ json-pack CborDecoderBase x 94,618 ops/sec ยฑ0.27% (97 runs sampled)219๐Ÿ‘ cbor-x x 108,102 ops/sec ยฑ0.37% (101 runs sampled)220๐Ÿ‘ cbor x 4,845 ops/sec ยฑ0.79% (95 runs sampled)221๐Ÿ‘ json-pack MsgPackDecoderFast x 102,544 ops/sec ยฑ0.39% (99 runs sampled)222๐Ÿ‘ msgpackr x 111,668 ops/sec ยฑ0.16% (101 runs sampled)223๐Ÿ‘ @msgpack/msgpack x 56,952 ops/sec ยฑ0.51% (97 runs sampled)224๐Ÿ‘ msgpack5 x 17,420 ops/sec ยฑ0.60% (101 runs sampled)225๐Ÿ‘ msgpack-lite x 20,536 ops/sec ยฑ0.23% (98 runs sampled)226๐Ÿ‘ messagepack x 3,247 ops/sec ยฑ2.30% (87 runs sampled)227Fastest is ๐Ÿ‘ msgpackr228------------------------------------------------------------------------- Typical object, 993 bytes229๐Ÿ‘ JSON.parse() x 304,670 ops/sec ยฑ0.98% (97 runs sampled)230๐Ÿ‘ sjson.parse() x 283,259 ops/sec ยฑ0.20% (98 runs sampled)231๐Ÿ‘ json-pack CborDecoderBase x 298,666 ops/sec ยฑ0.19% (100 runs sampled)232๐Ÿ‘ cbor-x x 322,995 ops/sec ยฑ0.71% (97 runs sampled)233๐Ÿ‘ cbor x 14,391 ops/sec ยฑ0.88% (95 runs sampled)234๐Ÿ‘ json-pack MsgPackDecoderFast x 321,984 ops/sec ยฑ0.23% (100 runs sampled)235๐Ÿ‘ msgpackr x 328,671 ops/sec ยฑ0.31% (99 runs sampled)236๐Ÿ‘ @msgpack/msgpack x 198,604 ops/sec ยฑ0.85% (96 runs sampled)237๐Ÿ‘ msgpack5 x 51,549 ops/sec ยฑ0.32% (99 runs sampled)238๐Ÿ‘ msgpack-lite x 67,171 ops/sec ยฑ0.19% (99 runs sampled)239๐Ÿ‘ messagepack x 9,464 ops/sec ยฑ1.95% (92 runs sampled)240Fastest is ๐Ÿ‘ msgpackr241---------------------------------------------------------------------------- Small object, 44 bytes242๐Ÿ‘ JSON.parse() x 2,654,389 ops/sec ยฑ0.28% (98 runs sampled)243๐Ÿ‘ sjson.parse() x 2,325,941 ops/sec ยฑ0.21% (98 runs sampled)244๐Ÿ‘ json-pack CborDecoderBase x 3,357,402 ops/sec ยฑ0.31% (99 runs sampled)245๐Ÿ‘ cbor-x x 4,133,737 ops/sec ยฑ0.29% (101 runs sampled)246๐Ÿ‘ cbor x 112,776 ops/sec ยฑ5.79% (88 runs sampled)247๐Ÿ‘ json-pack MsgPackDecoderFast x 3,359,127 ops/sec ยฑ0.56% (98 runs sampled)248๐Ÿ‘ msgpackr x 3,436,592 ops/sec ยฑ0.35% (97 runs sampled)249๐Ÿ‘ @msgpack/msgpack x 2,288,251 ops/sec ยฑ0.52% (94 runs sampled)250๐Ÿ‘ msgpack5 x 377,061 ops/sec ยฑ0.67% (96 runs sampled)251๐Ÿ‘ msgpack-lite x 872,569 ops/sec ยฑ0.31% (100 runs sampled)252๐Ÿ‘ messagepack x 116,422 ops/sec ยฑ1.84% (86 runs sampled)253Fastest is ๐Ÿ‘ cbor-x254------------------------------------------------------------------ Object with many keys, 969 bytes255๐Ÿ‘ JSON.parse() x 270,312 ops/sec ยฑ0.57% (98 runs sampled)256๐Ÿ‘ sjson.parse() x 242,328 ops/sec ยฑ3.10% (97 runs sampled)257๐Ÿ‘ json-pack CborDecoderBase x 81,403 ops/sec ยฑ0.42% (96 runs sampled)258๐Ÿ‘ cbor-x x 93,131 ops/sec ยฑ0.48% (99 runs sampled)259๐Ÿ‘ cbor x 8,760 ops/sec ยฑ0.93% (95 runs sampled)260๐Ÿ‘ json-pack MsgPackDecoderFast x 84,014 ops/sec ยฑ0.31% (96 runs sampled)261๐Ÿ‘ msgpackr x 91,477 ops/sec ยฑ0.77% (90 runs sampled)262๐Ÿ‘ @msgpack/msgpack x 73,089 ops/sec ยฑ0.56% (89 runs sampled)263๐Ÿ‘ msgpack5 x 23,468 ops/sec ยฑ0.72% (97 runs sampled)264๐Ÿ‘ msgpack-lite x 34,630 ops/sec ยฑ0.48% (100 runs sampled)265๐Ÿ‘ messagepack x 6,161 ops/sec ยฑ1.77% (86 runs sampled)266Fastest is ๐Ÿ‘ JSON.parse()267------------------------------------------------------------------------- String ladder, 3398 bytes268๐Ÿ‘ JSON.parse() x 287,387 ops/sec ยฑ0.36% (99 runs sampled)269๐Ÿ‘ sjson.parse() x 192,836 ops/sec ยฑ0.40% (95 runs sampled)270๐Ÿ‘ json-pack CborDecoderBase x 177,787 ops/sec ยฑ0.48% (98 runs sampled)271๐Ÿ‘ cbor-x x 320,303 ops/sec ยฑ0.51% (94 runs sampled)272๐Ÿ‘ cbor x 15,416 ops/sec ยฑ0.61% (94 runs sampled)273๐Ÿ‘ json-pack MsgPackDecoderFast x 179,625 ops/sec ยฑ0.59% (100 runs sampled)274๐Ÿ‘ msgpackr x 375,452 ops/sec ยฑ0.69% (94 runs sampled)275๐Ÿ‘ @msgpack/msgpack x 36,544 ops/sec ยฑ0.75% (84 runs sampled)276๐Ÿ‘ msgpack5 x 54,428 ops/sec ยฑ0.46% (98 runs sampled)277๐Ÿ‘ msgpack-lite x 25,309 ops/sec ยฑ0.81% (75 runs sampled)278๐Ÿ‘ messagepack x 10,117 ops/sec ยฑ3.99% (82 runs sampled)279Fastest is ๐Ÿ‘ msgpackr280-------------------------------------------------------------------------- Long strings, 7011 bytes281๐Ÿ‘ JSON.parse() x 117,335 ops/sec ยฑ3.32% (89 runs sampled)282๐Ÿ‘ sjson.parse() x 103,275 ops/sec ยฑ0.64% (94 runs sampled)283๐Ÿ‘ json-pack CborDecoderBase x 74,140 ops/sec ยฑ7.50% (81 runs sampled)284๐Ÿ‘ cbor-x x 92,753 ops/sec ยฑ0.78% (96 runs sampled)285๐Ÿ‘ cbor x 24,292 ops/sec ยฑ27.70% (75 runs sampled)286๐Ÿ‘ json-pack MsgPackDecoderFast x 88,124 ops/sec ยฑ1.65% (90 runs sampled)287๐Ÿ‘ msgpackr x 94,352 ops/sec ยฑ0.91% (94 runs sampled)288๐Ÿ‘ @msgpack/msgpack x 33,256 ops/sec ยฑ30.68% (71 runs sampled)289๐Ÿ‘ msgpack5 x 68,367 ops/sec ยฑ0.70% (95 runs sampled)290๐Ÿ‘ msgpack-lite x 14,764 ops/sec ยฑ2.04% (63 runs sampled)291๐Ÿ‘ messagepack x 17,522 ops/sec ยฑ28.57% (66 runs sampled)292Fastest is ๐Ÿ‘ JSON.parse()293-------------------------------------------------------------------------- Short strings, 170 bytes294๐Ÿ‘ JSON.parse() x 1,077,084 ops/sec ยฑ6.88% (77 runs sampled)295๐Ÿ‘ sjson.parse() x 837,130 ops/sec ยฑ2.70% (80 runs sampled)296๐Ÿ‘ json-pack CborDecoderBase x 698,901 ops/sec ยฑ4.69% (88 runs sampled)297๐Ÿ‘ cbor-x x 1,182,303 ops/sec ยฑ0.39% (94 runs sampled)298๐Ÿ‘ cbor x 26,810 ops/sec ยฑ14.70% (73 runs sampled)299๐Ÿ‘ json-pack MsgPackDecoderFast x 742,562 ops/sec ยฑ5.06% (88 runs sampled)300๐Ÿ‘ msgpackr x 1,041,143 ops/sec ยฑ2.66% (85 runs sampled)301๐Ÿ‘ @msgpack/msgpack x 440,652 ops/sec ยฑ1.38% (92 runs sampled)302๐Ÿ‘ msgpack5 x 133,387 ops/sec ยฑ1.14% (96 runs sampled)303๐Ÿ‘ msgpack-lite x 206,844 ops/sec ยฑ0.63% (97 runs sampled)304๐Ÿ‘ messagepack x 23,818 ops/sec ยฑ2.13% (94 runs sampled)305Fastest is ๐Ÿ‘ cbor-x,๐Ÿ‘ JSON.parse()306-------------------------------------------------------------------------------- Numbers, 136 bytes307๐Ÿ‘ JSON.parse() x 1,747,460 ops/sec ยฑ0.61% (95 runs sampled)308๐Ÿ‘ sjson.parse() x 1,553,635 ops/sec ยฑ1.04% (93 runs sampled)309๐Ÿ‘ json-pack CborDecoderBase x 2,289,002 ops/sec ยฑ0.93% (87 runs sampled)310๐Ÿ‘ cbor-x x 3,775,727 ops/sec ยฑ2.86% (82 runs sampled)311๐Ÿ‘ cbor x 77,650 ops/sec ยฑ4.32% (83 runs sampled)312๐Ÿ‘ json-pack MsgPackDecoderFast x 2,287,682 ops/sec ยฑ1.54% (80 runs sampled)313๐Ÿ‘ msgpackr x 3,391,489 ops/sec ยฑ0.59% (80 runs sampled)314๐Ÿ‘ @msgpack/msgpack x 2,297,255 ops/sec ยฑ1.54% (78 runs sampled)315๐Ÿ‘ msgpack5 x 112,373 ops/sec ยฑ1.19% (91 runs sampled)316๐Ÿ‘ msgpack-lite x 1,378,387 ops/sec ยฑ0.84% (95 runs sampled)317๐Ÿ‘ messagepack x 1,174,740 ops/sec ยฑ0.97% (89 runs sampled)318Fastest is ๐Ÿ‘ cbor-x319--------------------------------------------------------------------------------- Tokens, 308 bytes320๐Ÿ‘ JSON.parse() x 1,303,300 ops/sec ยฑ2.26% (92 runs sampled)321๐Ÿ‘ sjson.parse() x 1,091,921 ops/sec ยฑ2.85% (86 runs sampled)322๐Ÿ‘ json-pack CborDecoderBase x 1,203,319 ops/sec ยฑ2.12% (90 runs sampled)323๐Ÿ‘ cbor-x x 1,787,591 ops/sec ยฑ2.94% (74 runs sampled)324๐Ÿ‘ cbor x 45,127 ops/sec ยฑ24.11% (64 runs sampled)325๐Ÿ‘ json-pack MsgPackDecoderFast x 1,283,322 ops/sec ยฑ1.93% (94 runs sampled)326๐Ÿ‘ msgpackr x 1,890,533 ops/sec ยฑ2.66% (90 runs sampled)327๐Ÿ‘ @msgpack/msgpack x 1,364,025 ops/sec ยฑ3.78% (67 runs sampled)328๐Ÿ‘ msgpack5 x 117,205 ops/sec ยฑ2.72% (90 runs sampled)329๐Ÿ‘ msgpack-lite x 1,316,133 ops/sec ยฑ0.74% (99 runs sampled)330๐Ÿ‘ messagepack x 733,566 ops/sec ยฑ1.55% (87 runs sampled)331Fastest is ๐Ÿ‘ msgpackr332```333 334Encoder comparison:335 336```337npx ts-node benchmarks/json-pack/bench.encoders.ts338=============================================================================== Benchmark: Encoding339Warmup: 1000x , Node.js: v20.2.0 , Arch: arm64 , CPU: Apple M1 Max340---------------------------------------------------------------------------- Small object, 44 bytes341๐Ÿ‘ CborEncoderFast x 6,319,117 ops/sec ยฑ0.11% (101 runs sampled)342๐Ÿ‘ CborEncoder x 6,001,443 ops/sec ยฑ0.15% (101 runs sampled)343๐Ÿ‘Ž MsgPackEncoderFast x 6,047,466 ops/sec ยฑ0.20% (99 runs sampled)344๐Ÿ‘Ž MsgPackEncoder x 5,493,093 ops/sec ยฑ0.10% (101 runs sampled)345๐Ÿ‘Ž JsonEncoder x 6,018,890 ops/sec ยฑ0.11% (97 runs sampled)346๐Ÿ‘Ž UbjsonEncoder x 6,545,118 ops/sec ยฑ0.10% (97 runs sampled)347๐Ÿ‘Ž IonEncoderFast x 1,032,434 ops/sec ยฑ0.14% (99 runs sampled)348๐Ÿ‘Ž Buffer.from(JSON.stringify()) x 2,300,069 ops/sec ยฑ0.15% (100 runs sampled)349Fastest is ๐Ÿ‘Ž UbjsonEncoder350------------------------------------------------------------------------- Typical object, 993 bytes351๐Ÿ‘ CborEncoderFast x 460,125 ops/sec ยฑ0.14% (98 runs sampled)352๐Ÿ‘ CborEncoder x 439,506 ops/sec ยฑ0.18% (98 runs sampled)353๐Ÿ‘Ž MsgPackEncoderFast x 458,530 ops/sec ยฑ0.15% (99 runs sampled)354๐Ÿ‘Ž MsgPackEncoder x 449,540 ops/sec ยฑ0.16% (100 runs sampled)355๐Ÿ‘Ž JsonEncoder x 303,410 ops/sec ยฑ0.12% (101 runs sampled)356๐Ÿ‘Ž UbjsonEncoder x 479,450 ops/sec ยฑ0.13% (99 runs sampled)357๐Ÿ‘Ž IonEncoderFast x 68,000 ops/sec ยฑ0.11% (102 runs sampled)358๐Ÿ‘Ž Buffer.from(JSON.stringify()) x 207,747 ops/sec ยฑ0.11% (98 runs sampled)359Fastest is ๐Ÿ‘Ž UbjsonEncoder360-------------------------------------------------------------------------- Large object, 3741 bytes361๐Ÿ‘ CborEncoderFast x 133,608 ops/sec ยฑ0.15% (100 runs sampled)362๐Ÿ‘ CborEncoder x 128,019 ops/sec ยฑ0.13% (97 runs sampled)363๐Ÿ‘Ž MsgPackEncoderFast x 133,863 ops/sec ยฑ0.14% (99 runs sampled)364๐Ÿ‘Ž MsgPackEncoder x 131,521 ops/sec ยฑ0.18% (99 runs sampled)365๐Ÿ‘Ž JsonEncoder x 93,018 ops/sec ยฑ0.13% (98 runs sampled)366๐Ÿ‘Ž UbjsonEncoder x 140,969 ops/sec ยฑ0.15% (101 runs sampled)367๐Ÿ‘Ž IonEncoderFast x 11,523 ops/sec ยฑ0.15% (101 runs sampled)368๐Ÿ‘Ž Buffer.from(JSON.stringify()) x 63,389 ops/sec ยฑ0.13% (101 runs sampled)369Fastest is ๐Ÿ‘Ž UbjsonEncoder370-------------------------------------------------------------------- Very large object, 45750 bytes371๐Ÿ‘ CborEncoderFast x 5,790 ops/sec ยฑ0.15% (100 runs sampled)372๐Ÿ‘ CborEncoder x 5,579 ops/sec ยฑ0.14% (100 runs sampled)373๐Ÿ‘Ž MsgPackEncoderFast x 6,005 ops/sec ยฑ0.13% (100 runs sampled)374๐Ÿ‘Ž MsgPackEncoder x 5,670 ops/sec ยฑ0.18% (99 runs sampled)375๐Ÿ‘Ž JsonEncoder x 6,351 ops/sec ยฑ0.16% (101 runs sampled)376๐Ÿ‘Ž UbjsonEncoder x 6,248 ops/sec ยฑ0.18% (99 runs sampled)377๐Ÿ‘Ž IonEncoderFast x 1,868 ops/sec ยฑ0.21% (98 runs sampled)378๐Ÿ‘Ž Buffer.from(JSON.stringify()) x 7,240 ops/sec ยฑ0.19% (99 runs sampled)379Fastest is ๐Ÿ‘Ž Buffer.from(JSON.stringify())380------------------------------------------------------------------ Object with many keys, 969 bytes381๐Ÿ‘ CborEncoderFast x 283,371 ops/sec ยฑ0.18% (99 runs sampled)382๐Ÿ‘ CborEncoder x 268,056 ops/sec ยฑ0.17% (96 runs sampled)383๐Ÿ‘Ž MsgPackEncoderFast x 285,224 ops/sec ยฑ0.17% (96 runs sampled)384๐Ÿ‘Ž MsgPackEncoder x 272,416 ops/sec ยฑ0.21% (98 runs sampled)385๐Ÿ‘Ž JsonEncoder x 234,921 ops/sec ยฑ0.21% (98 runs sampled)386๐Ÿ‘Ž UbjsonEncoder x 292,228 ops/sec ยฑ0.19% (95 runs sampled)387๐Ÿ‘Ž IonEncoderFast x 63,456 ops/sec ยฑ0.14% (98 runs sampled)388๐Ÿ‘Ž Buffer.from(JSON.stringify()) x 175,341 ops/sec ยฑ0.86% (93 runs sampled)389Fastest is ๐Ÿ‘Ž UbjsonEncoder390------------------------------------------------------------------------- String ladder, 3398 bytes391๐Ÿ‘ CborEncoderFast x 280,167 ops/sec ยฑ0.20% (100 runs sampled)392๐Ÿ‘ CborEncoder x 283,404 ops/sec ยฑ0.20% (97 runs sampled)393๐Ÿ‘Ž MsgPackEncoderFast x 272,800 ops/sec ยฑ0.18% (99 runs sampled)394๐Ÿ‘Ž MsgPackEncoder x 283,433 ops/sec ยฑ0.23% (98 runs sampled)395๐Ÿ‘Ž JsonEncoder x 147,390 ops/sec ยฑ0.16% (98 runs sampled)396๐Ÿ‘Ž UbjsonEncoder x 290,624 ops/sec ยฑ0.21% (98 runs sampled)397๐Ÿ‘Ž IonEncoderFast x 25,452 ops/sec ยฑ0.17% (101 runs sampled)398๐Ÿ‘Ž Buffer.from(JSON.stringify()) x 145,352 ops/sec ยฑ0.23% (99 runs sampled)399Fastest is ๐Ÿ‘Ž UbjsonEncoder400-------------------------------------------------------------------------- Long strings, 7011 bytes401๐Ÿ‘ CborEncoderFast x 394,386 ops/sec ยฑ0.53% (95 runs sampled)402๐Ÿ‘ CborEncoder x 394,442 ops/sec ยฑ0.49% (94 runs sampled)403๐Ÿ‘Ž MsgPackEncoderFast x 386,894 ops/sec ยฑ0.54% (95 runs sampled)404๐Ÿ‘Ž MsgPackEncoder x 394,019 ops/sec ยฑ0.50% (95 runs sampled)405๐Ÿ‘Ž JsonEncoder x 50,781 ops/sec ยฑ0.13% (97 runs sampled)406๐Ÿ‘Ž UbjsonEncoder x 396,184 ops/sec ยฑ0.57% (95 runs sampled)407๐Ÿ‘Ž IonEncoderFast x 11,799 ops/sec ยฑ0.22% (99 runs sampled)408๐Ÿ‘Ž Buffer.from(JSON.stringify()) x 28,742 ops/sec ยฑ0.11% (102 runs sampled)409Fastest is ๐Ÿ‘Ž UbjsonEncoder,๐Ÿ‘ CborEncoder,๐Ÿ‘ CborEncoderFast,๐Ÿ‘Ž MsgPackEncoder410-------------------------------------------------------------------------- Short strings, 170 bytes411๐Ÿ‘ CborEncoderFast x 1,816,742 ops/sec ยฑ0.16% (100 runs sampled)412๐Ÿ‘ CborEncoder x 1,831,503 ops/sec ยฑ0.22% (97 runs sampled)413๐Ÿ‘Ž MsgPackEncoderFast x 1,641,743 ops/sec ยฑ0.17% (101 runs sampled)414๐Ÿ‘Ž MsgPackEncoder x 1,694,803 ops/sec ยฑ0.17% (97 runs sampled)415๐Ÿ‘Ž JsonEncoder x 1,595,041 ops/sec ยฑ0.12% (99 runs sampled)416๐Ÿ‘Ž UbjsonEncoder x 1,779,112 ops/sec ยฑ0.24% (98 runs sampled)417๐Ÿ‘Ž IonEncoderFast x 422,031 ops/sec ยฑ0.10% (101 runs sampled)418๐Ÿ‘Ž Buffer.from(JSON.stringify()) x 1,001,976 ops/sec ยฑ0.24% (98 runs sampled)419Fastest is ๐Ÿ‘ CborEncoder420-------------------------------------------------------------------------------- Numbers, 136 bytes421๐Ÿ‘ CborEncoderFast x 2,822,683 ops/sec ยฑ0.14% (99 runs sampled)422๐Ÿ‘ CborEncoder x 3,111,311 ops/sec ยฑ0.20% (97 runs sampled)423๐Ÿ‘Ž MsgPackEncoderFast x 2,918,971 ops/sec ยฑ0.14% (100 runs sampled)424๐Ÿ‘Ž MsgPackEncoder x 2,862,193 ops/sec ยฑ0.13% (100 runs sampled)425๐Ÿ‘Ž JsonEncoder x 1,706,584 ops/sec ยฑ0.18% (96 runs sampled)426๐Ÿ‘Ž UbjsonEncoder x 3,238,810 ops/sec ยฑ0.15% (97 runs sampled)427๐Ÿ‘Ž IonEncoderFast x 545,885 ops/sec ยฑ0.16% (98 runs sampled)428๐Ÿ‘Ž Buffer.from(JSON.stringify()) x 1,216,907 ops/sec ยฑ0.20% (98 runs sampled)429Fastest is ๐Ÿ‘Ž UbjsonEncoder430--------------------------------------------------------------------------------- Tokens, 308 bytes431๐Ÿ‘ CborEncoderFast x 1,360,976 ops/sec ยฑ0.20% (96 runs sampled)432๐Ÿ‘ CborEncoder x 1,367,625 ops/sec ยฑ0.16% (101 runs sampled)433๐Ÿ‘Ž MsgPackEncoderFast x 1,753,202 ops/sec ยฑ0.19% (99 runs sampled)434๐Ÿ‘Ž MsgPackEncoder x 1,733,298 ops/sec ยฑ0.16% (100 runs sampled)435๐Ÿ‘Ž JsonEncoder x 1,411,382 ops/sec ยฑ0.27% (98 runs sampled)436๐Ÿ‘Ž UbjsonEncoder x 1,734,304 ops/sec ยฑ0.17% (101 runs sampled)437๐Ÿ‘Ž IonEncoderFast x 369,161 ops/sec ยฑ0.21% (97 runs sampled)438๐Ÿ‘Ž Buffer.from(JSON.stringify()) x 1,092,623 ops/sec ยฑ0.15% (101 runs sampled)439Fastest is ๐Ÿ‘Ž MsgPackEncoderFast440```441 442 443### Shallow reading444 445```446node benchmarks/json-pack/bench.shallow-read.js447=============================================================================== Benchmark: Encoding448Warmup: 10000x , Node.js: v16.14.2 , Arch: arm64 , CPU: Apple M1449------------------------------------------------------------------------- Typical object, 993 bytes450๐Ÿ‘ JSON.parse() x 314,451 ops/sec ยฑ0.24% (94 runs sampled)451๐Ÿ‘ msgpackr x 332,628 ops/sec ยฑ0.09% (99 runs sampled)452๐Ÿ‘ cbor-x x 326,509 ops/sec ยฑ0.05% (101 runs sampled)453๐Ÿ‘ MsgPackDecoder x 368,088 ops/sec ยฑ0.15% (100 runs sampled)454๐Ÿ‘ CborDecoder x 327,286 ops/sec ยฑ0.15% (101 runs sampled)455๐Ÿ‘ MsgPackDecoder.{findKey,findIndex}() x 1,815,090 ops/sec ยฑ0.07% (99 runs sampled)456๐Ÿ‘ MsgPackDecoder.find() x 1,797,098 ops/sec ยฑ0.15% (98 runs sampled)457๐Ÿ‘ genShallowReader()(MsgPackDecoder) x 2,085,260 ops/sec ยฑ0.19% (99 runs sampled)458Fastest is ๐Ÿ‘ genShallowReader()(MsgPackDecoder)459```460 
basant307/AI_Governance_Project ยท CoolFace