basant307/AI_Governance_Project
048
1# `hyperdyperid`2 3Fastest random ID and random string generation for Node.js4 5- `str3_36` — generates random 3 character Base36 alphanumeric string.6- `str5_36` — generates random 5 character Base36 alphanumeric string.7- `str6_36` — generates random 6 character Base36 alphanumeric string.8- `str10_36` — generates random 10 character alphanumeric string.9- `str(len [, alphabet])` — generates any length random string using an `alphabet`. Use like `str(10, '0123456789')`.10- `hyperid` — generates "hyperid" like ID.11- `xorshift32` — iterates through pseudo random numbers using "xorshift32" algorithm. This used12 to be the algorithm behind `Math.random()` in V8, then it switched to "xorshift64".13- `randomU32(min, max)` — generate a random 32-bit integer.14 15 16## Usage17 18Install19 20```21yarn add hyperdyperid22```23 24Generate base36 10-character string:25 26```js27const {str10_36} = require('hyperdyperid/lib/str10_36');28 29str10_36();30// lxifpmidcr31// cn41vpmtxo32// dj2u5ghp3r33// 6yro5d0g9l34```35 36 37## Performance38 39Ran on Mac Mini M1.40 41Random ID generation:42 43```44node -v45v16.14.246node benchmarks/main.js 47hyperdyperid xorshift32() x 241,258,490 ops/sec ±1.97% (78 runs sampled)48hyperdyperid str3_36() x 203,361,942 ops/sec ±1.57% (82 runs sampled)49hyperdyperid str5_36() x 124,134,559 ops/sec ±1.74% (85 runs sampled)50hyperdyperid str6_36() x 125,011,053 ops/sec ±2.48% (70 runs sampled)51hyperdyperid str10_36() x 19,445,199 ops/sec ±1.92% (84 runs sampled)52hyperdyperid str(5) x 5,940,801 ops/sec ±1.70% (82 runs sampled)53hyperdyperid str(10) x 2,798,758 ops/sec ±1.45% (65 runs sampled)54hyperdyperid hyperid() x 26,317,209 ops/sec ±2.61% (76 runs sampled)55hyperid x 17,018,022 ops/sec ±1.66% (84 runs sampled)56Math.random() x 72,294,752 ops/sec ±1.65% (83 runs sampled)57Math.random().toString() x 4,503,932 ops/sec ±2.68% (80 runs sampled)58nanoid x 470,470 ops/sec ±3.17% (77 runs sampled)59shortid x 41,870 ops/sec ±6.21% (67 runs sampled)60Fastest is hyperdyperid xorshift32()61```62 63Random integer generation:64 65```66node -v67v16.14.268node benchmarks/randomU32.js 69randomU32(min, max) x 248,233,310 ops/sec ±1.91% (73 runs sampled)70Math.random() * (max - min + 1) + min x 35,034,863 ops/sec ±1.75% (81 runs sampled)71Fastest is randomU32(min, max)72```73 74 75## License76 77[MIT © Vadim Dalecky](LICENSE).78 