diff --git a/package.json b/package.json index c0a0cfb..5c4724e 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,7 @@ { "type": "module", "dependencies": { - "@inquirer/prompts": "^7.4.0" + "@inquirer/prompts": "^7.4.0", + "functional-red-black-tree": "^1.0.1" } } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index e968e37..26a4565 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -11,6 +11,9 @@ importers: '@inquirer/prompts': specifier: ^7.4.0 version: 7.4.0 + functional-red-black-tree: + specifier: ^1.0.1 + version: 1.0.1 packages: @@ -168,6 +171,9 @@ packages: resolution: {integrity: sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==} engines: {node: '>=4'} + functional-red-black-tree@1.0.1: + resolution: {integrity: sha512-dsKNQNdj6xA3T+QlADDA7mOSlX0qiMINjn0cgr+eGHGsbSHzTabcIogz2+p/iqP1Xs6EP/sS2SbqH+brGTbq0g==} + iconv-lite@0.4.24: resolution: {integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==} engines: {node: '>=0.10.0'} @@ -335,6 +341,8 @@ snapshots: iconv-lite: 0.4.24 tmp: 0.0.33 + functional-red-black-tree@1.0.1: {} + iconv-lite@0.4.24: dependencies: safer-buffer: 2.1.2 diff --git a/scripts/rbtree_bench.js b/scripts/rbtree_bench.js new file mode 100644 index 0000000..faae879 --- /dev/null +++ b/scripts/rbtree_bench.js @@ -0,0 +1,88 @@ +import createTree from "functional-red-black-tree"; + +function benchmark(N) { + // fastest + function map() { + let t = new Map(); + const startTime = Date.now(); + for (let i=0; i