data-structure-typed 1.50.1 → 1.50.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +2 -1
- package/README.md +30 -28
- package/README_zh-CN.md +1 -1
- package/SPECIFICATION.md +56 -0
- package/SPONSOR-zh-CN.md +90 -0
- package/SPONSOR.md +54 -0
- package/benchmark/report.html +13 -13
- package/benchmark/report.json +149 -161
- package/dist/cjs/data-structures/base/iterable-base.d.ts +120 -9
- package/dist/cjs/data-structures/base/iterable-base.js +143 -7
- package/dist/cjs/data-structures/base/iterable-base.js.map +1 -1
- package/dist/cjs/data-structures/binary-tree/avl-tree.d.ts +72 -47
- package/dist/cjs/data-structures/binary-tree/avl-tree.js +101 -72
- package/dist/cjs/data-structures/binary-tree/avl-tree.js.map +1 -1
- package/dist/cjs/data-structures/binary-tree/binary-indexed-tree.d.ts +22 -0
- package/dist/cjs/data-structures/binary-tree/binary-indexed-tree.js +22 -0
- package/dist/cjs/data-structures/binary-tree/binary-indexed-tree.js.map +1 -1
- package/dist/cjs/data-structures/binary-tree/binary-tree.d.ts +244 -199
- package/dist/cjs/data-structures/binary-tree/binary-tree.js +484 -376
- package/dist/cjs/data-structures/binary-tree/binary-tree.js.map +1 -1
- package/dist/cjs/data-structures/binary-tree/bst.d.ts +92 -79
- package/dist/cjs/data-structures/binary-tree/bst.js +68 -76
- package/dist/cjs/data-structures/binary-tree/bst.js.map +1 -1
- package/dist/cjs/data-structures/binary-tree/rb-tree.d.ts +127 -57
- package/dist/cjs/data-structures/binary-tree/rb-tree.js +152 -99
- package/dist/cjs/data-structures/binary-tree/rb-tree.js.map +1 -1
- package/dist/cjs/data-structures/binary-tree/segment-tree.d.ts +99 -6
- package/dist/cjs/data-structures/binary-tree/segment-tree.js +127 -10
- package/dist/cjs/data-structures/binary-tree/segment-tree.js.map +1 -1
- package/dist/cjs/data-structures/binary-tree/tree-multimap.d.ts +72 -58
- package/dist/cjs/data-structures/binary-tree/tree-multimap.js +102 -85
- package/dist/cjs/data-structures/binary-tree/tree-multimap.js.map +1 -1
- package/dist/cjs/data-structures/graph/abstract-graph.d.ts +1 -78
- package/dist/cjs/data-structures/graph/abstract-graph.js +3 -189
- package/dist/cjs/data-structures/graph/abstract-graph.js.map +1 -1
- package/dist/cjs/data-structures/graph/directed-graph.d.ts +73 -0
- package/dist/cjs/data-structures/graph/directed-graph.js +131 -0
- package/dist/cjs/data-structures/graph/directed-graph.js.map +1 -1
- package/dist/cjs/data-structures/graph/map-graph.d.ts +8 -0
- package/dist/cjs/data-structures/graph/map-graph.js +14 -0
- package/dist/cjs/data-structures/graph/map-graph.js.map +1 -1
- package/dist/cjs/data-structures/graph/undirected-graph.d.ts +76 -7
- package/dist/cjs/data-structures/graph/undirected-graph.js +151 -18
- package/dist/cjs/data-structures/graph/undirected-graph.js.map +1 -1
- package/dist/cjs/data-structures/hash/hash-map.d.ts +254 -28
- package/dist/cjs/data-structures/hash/hash-map.js +347 -78
- package/dist/cjs/data-structures/hash/hash-map.js.map +1 -1
- package/dist/cjs/data-structures/heap/heap.d.ts +95 -25
- package/dist/cjs/data-structures/heap/heap.js +95 -26
- package/dist/cjs/data-structures/heap/heap.js.map +1 -1
- package/dist/cjs/data-structures/linked-list/doubly-linked-list.d.ts +126 -63
- package/dist/cjs/data-structures/linked-list/doubly-linked-list.js +141 -77
- package/dist/cjs/data-structures/linked-list/doubly-linked-list.js.map +1 -1
- package/dist/cjs/data-structures/linked-list/singly-linked-list.d.ts +154 -106
- package/dist/cjs/data-structures/linked-list/singly-linked-list.js +164 -115
- package/dist/cjs/data-structures/linked-list/singly-linked-list.js.map +1 -1
- package/dist/cjs/data-structures/linked-list/skip-linked-list.d.ts +63 -36
- package/dist/cjs/data-structures/linked-list/skip-linked-list.js +63 -36
- package/dist/cjs/data-structures/linked-list/skip-linked-list.js.map +1 -1
- package/dist/cjs/data-structures/matrix/matrix.d.ts +35 -4
- package/dist/cjs/data-structures/matrix/matrix.js +50 -11
- package/dist/cjs/data-structures/matrix/matrix.js.map +1 -1
- package/dist/cjs/data-structures/priority-queue/max-priority-queue.d.ts +10 -0
- package/dist/cjs/data-structures/priority-queue/max-priority-queue.js +10 -0
- package/dist/cjs/data-structures/priority-queue/max-priority-queue.js.map +1 -1
- package/dist/cjs/data-structures/priority-queue/min-priority-queue.d.ts +11 -0
- package/dist/cjs/data-structures/priority-queue/min-priority-queue.js +11 -0
- package/dist/cjs/data-structures/priority-queue/min-priority-queue.js.map +1 -1
- package/dist/cjs/data-structures/priority-queue/priority-queue.d.ts +8 -0
- package/dist/cjs/data-structures/priority-queue/priority-queue.js +8 -0
- package/dist/cjs/data-structures/priority-queue/priority-queue.js.map +1 -1
- package/dist/cjs/data-structures/queue/deque.d.ts +139 -35
- package/dist/cjs/data-structures/queue/deque.js +200 -62
- package/dist/cjs/data-structures/queue/deque.js.map +1 -1
- package/dist/cjs/data-structures/queue/queue.d.ts +103 -49
- package/dist/cjs/data-structures/queue/queue.js +111 -49
- package/dist/cjs/data-structures/queue/queue.js.map +1 -1
- package/dist/cjs/data-structures/stack/stack.d.ts +51 -21
- package/dist/cjs/data-structures/stack/stack.js +58 -22
- package/dist/cjs/data-structures/stack/stack.js.map +1 -1
- package/dist/cjs/data-structures/tree/tree.d.ts +57 -3
- package/dist/cjs/data-structures/tree/tree.js +77 -11
- package/dist/cjs/data-structures/tree/tree.js.map +1 -1
- package/dist/cjs/data-structures/trie/trie.d.ts +135 -34
- package/dist/cjs/data-structures/trie/trie.js +153 -33
- package/dist/cjs/data-structures/trie/trie.js.map +1 -1
- package/dist/cjs/types/data-structures/binary-tree/binary-tree.d.ts +1 -1
- package/dist/cjs/types/data-structures/hash/hash-map.d.ts +4 -3
- package/dist/cjs/types/utils/utils.d.ts +1 -0
- package/dist/mjs/data-structures/base/iterable-base.d.ts +120 -9
- package/dist/mjs/data-structures/base/iterable-base.js +143 -7
- package/dist/mjs/data-structures/binary-tree/avl-tree.d.ts +72 -47
- package/dist/mjs/data-structures/binary-tree/avl-tree.js +102 -73
- package/dist/mjs/data-structures/binary-tree/binary-indexed-tree.d.ts +22 -0
- package/dist/mjs/data-structures/binary-tree/binary-indexed-tree.js +22 -0
- package/dist/mjs/data-structures/binary-tree/binary-tree.d.ts +244 -199
- package/dist/mjs/data-structures/binary-tree/binary-tree.js +483 -375
- package/dist/mjs/data-structures/binary-tree/bst.d.ts +92 -79
- package/dist/mjs/data-structures/binary-tree/bst.js +68 -76
- package/dist/mjs/data-structures/binary-tree/rb-tree.d.ts +127 -57
- package/dist/mjs/data-structures/binary-tree/rb-tree.js +153 -100
- package/dist/mjs/data-structures/binary-tree/segment-tree.d.ts +99 -6
- package/dist/mjs/data-structures/binary-tree/segment-tree.js +127 -10
- package/dist/mjs/data-structures/binary-tree/tree-multimap.d.ts +72 -58
- package/dist/mjs/data-structures/binary-tree/tree-multimap.js +102 -86
- package/dist/mjs/data-structures/graph/abstract-graph.d.ts +1 -78
- package/dist/mjs/data-structures/graph/abstract-graph.js +3 -188
- package/dist/mjs/data-structures/graph/directed-graph.d.ts +73 -0
- package/dist/mjs/data-structures/graph/directed-graph.js +131 -0
- package/dist/mjs/data-structures/graph/map-graph.d.ts +8 -0
- package/dist/mjs/data-structures/graph/map-graph.js +14 -0
- package/dist/mjs/data-structures/graph/undirected-graph.d.ts +76 -7
- package/dist/mjs/data-structures/graph/undirected-graph.js +152 -19
- package/dist/mjs/data-structures/hash/hash-map.d.ts +254 -28
- package/dist/mjs/data-structures/hash/hash-map.js +353 -84
- package/dist/mjs/data-structures/heap/heap.d.ts +95 -25
- package/dist/mjs/data-structures/heap/heap.js +95 -26
- package/dist/mjs/data-structures/linked-list/doubly-linked-list.d.ts +126 -63
- package/dist/mjs/data-structures/linked-list/doubly-linked-list.js +144 -80
- package/dist/mjs/data-structures/linked-list/singly-linked-list.d.ts +154 -106
- package/dist/mjs/data-structures/linked-list/singly-linked-list.js +166 -117
- package/dist/mjs/data-structures/linked-list/skip-linked-list.d.ts +63 -36
- package/dist/mjs/data-structures/linked-list/skip-linked-list.js +63 -36
- package/dist/mjs/data-structures/matrix/matrix.d.ts +35 -4
- package/dist/mjs/data-structures/matrix/matrix.js +50 -11
- package/dist/mjs/data-structures/priority-queue/max-priority-queue.d.ts +10 -0
- package/dist/mjs/data-structures/priority-queue/max-priority-queue.js +10 -0
- package/dist/mjs/data-structures/priority-queue/min-priority-queue.d.ts +11 -0
- package/dist/mjs/data-structures/priority-queue/min-priority-queue.js +11 -0
- package/dist/mjs/data-structures/priority-queue/priority-queue.d.ts +8 -0
- package/dist/mjs/data-structures/priority-queue/priority-queue.js +8 -0
- package/dist/mjs/data-structures/queue/deque.d.ts +139 -35
- package/dist/mjs/data-structures/queue/deque.js +205 -67
- package/dist/mjs/data-structures/queue/queue.d.ts +103 -49
- package/dist/mjs/data-structures/queue/queue.js +111 -49
- package/dist/mjs/data-structures/stack/stack.d.ts +51 -21
- package/dist/mjs/data-structures/stack/stack.js +58 -22
- package/dist/mjs/data-structures/tree/tree.d.ts +57 -3
- package/dist/mjs/data-structures/tree/tree.js +80 -14
- package/dist/mjs/data-structures/trie/trie.d.ts +135 -34
- package/dist/mjs/data-structures/trie/trie.js +156 -36
- package/dist/mjs/types/data-structures/binary-tree/binary-tree.d.ts +1 -1
- package/dist/mjs/types/data-structures/hash/hash-map.d.ts +4 -3
- package/dist/mjs/types/utils/utils.d.ts +1 -0
- package/dist/umd/data-structure-typed.js +3121 -1583
- package/dist/umd/data-structure-typed.min.js +3 -3
- package/dist/umd/data-structure-typed.min.js.map +1 -1
- package/package.json +61 -55
- package/src/data-structures/base/iterable-base.ts +184 -19
- package/src/data-structures/binary-tree/avl-tree.ts +134 -100
- package/src/data-structures/binary-tree/binary-indexed-tree.ts +22 -0
- package/src/data-structures/binary-tree/binary-tree.ts +674 -671
- package/src/data-structures/binary-tree/bst.ts +127 -136
- package/src/data-structures/binary-tree/rb-tree.ts +199 -166
- package/src/data-structures/binary-tree/segment-tree.ts +145 -11
- package/src/data-structures/binary-tree/tree-multimap.ts +138 -115
- package/src/data-structures/graph/abstract-graph.ts +4 -211
- package/src/data-structures/graph/directed-graph.ts +152 -0
- package/src/data-structures/graph/map-graph.ts +15 -0
- package/src/data-structures/graph/undirected-graph.ts +171 -19
- package/src/data-structures/hash/hash-map.ts +389 -96
- package/src/data-structures/heap/heap.ts +97 -26
- package/src/data-structures/linked-list/doubly-linked-list.ts +156 -83
- package/src/data-structures/linked-list/singly-linked-list.ts +174 -120
- package/src/data-structures/linked-list/skip-linked-list.ts +63 -37
- package/src/data-structures/matrix/matrix.ts +52 -12
- package/src/data-structures/priority-queue/max-priority-queue.ts +10 -0
- package/src/data-structures/priority-queue/min-priority-queue.ts +11 -0
- package/src/data-structures/priority-queue/priority-queue.ts +8 -0
- package/src/data-structures/queue/deque.ts +225 -70
- package/src/data-structures/queue/queue.ts +118 -49
- package/src/data-structures/stack/stack.ts +63 -23
- package/src/data-structures/tree/tree.ts +89 -15
- package/src/data-structures/trie/trie.ts +173 -38
- package/src/types/data-structures/binary-tree/binary-tree.ts +1 -1
- package/src/types/data-structures/hash/hash-map.ts +4 -3
- package/src/types/utils/utils.ts +2 -0
- package/test/performance/data-structures/graph/directed-graph.test.ts +4 -4
- package/test/performance/data-structures/queue/deque.test.ts +26 -25
- package/test/unit/data-structures/binary-tree/avl-tree.test.ts +37 -0
- package/test/unit/data-structures/binary-tree/binary-tree.test.ts +46 -17
- package/test/unit/data-structures/binary-tree/bst.test.ts +65 -1
- package/test/unit/data-structures/binary-tree/rb-tree.test.ts +38 -1
- package/test/unit/data-structures/binary-tree/tree-multimap.test.ts +37 -32
- package/test/unit/data-structures/graph/abstract-graph.test.ts +11 -0
- package/test/unit/data-structures/graph/directed-graph.test.ts +190 -5
- package/test/unit/data-structures/graph/undirected-graph.test.ts +263 -18
- package/test/unit/data-structures/hash/hash-map.test.ts +376 -353
- package/test/unit/data-structures/heap/heap.test.ts +18 -1
- package/test/unit/data-structures/linked-list/doubly-linked-list.test.ts +24 -5
- package/test/unit/data-structures/linked-list/singly-linked-list.test.ts +20 -2
- package/test/unit/data-structures/linked-list/skip-list.test.ts +1 -1
- package/test/unit/data-structures/queue/deque.test.ts +65 -5
- package/test/unit/data-structures/queue/queue.test.ts +24 -5
- package/test/unit/data-structures/stack/stack.test.ts +17 -0
- package/test/unit/data-structures/trie/trie.test.ts +17 -0
package/benchmark/report.json
CHANGED
|
@@ -3,27 +3,27 @@
|
|
|
3
3
|
"benchmarks": [
|
|
4
4
|
{
|
|
5
5
|
"test name": "10,000 add randomly",
|
|
6
|
-
"time taken (ms)": "
|
|
7
|
-
"executions per sec": "7.
|
|
8
|
-
"sample deviation": "0.
|
|
6
|
+
"time taken (ms)": "125.60",
|
|
7
|
+
"executions per sec": "7.96",
|
|
8
|
+
"sample deviation": "0.00"
|
|
9
9
|
},
|
|
10
10
|
{
|
|
11
11
|
"test name": "10,000 add & delete randomly",
|
|
12
|
-
"time taken (ms)": "
|
|
13
|
-
"executions per sec": "5.
|
|
12
|
+
"time taken (ms)": "181.22",
|
|
13
|
+
"executions per sec": "5.52",
|
|
14
14
|
"sample deviation": "0.00"
|
|
15
15
|
},
|
|
16
16
|
{
|
|
17
17
|
"test name": "10,000 addMany",
|
|
18
|
-
"time taken (ms)": "
|
|
19
|
-
"executions per sec": "7.
|
|
20
|
-
"sample deviation": "
|
|
18
|
+
"time taken (ms)": "134.12",
|
|
19
|
+
"executions per sec": "7.46",
|
|
20
|
+
"sample deviation": "0.01"
|
|
21
21
|
},
|
|
22
22
|
{
|
|
23
23
|
"test name": "10,000 get",
|
|
24
|
-
"time taken (ms)": "
|
|
25
|
-
"executions per sec": "
|
|
26
|
-
"sample deviation": "
|
|
24
|
+
"time taken (ms)": "55.08",
|
|
25
|
+
"executions per sec": "18.16",
|
|
26
|
+
"sample deviation": "0.01"
|
|
27
27
|
}
|
|
28
28
|
],
|
|
29
29
|
"testName": "avl-tree"
|
|
@@ -32,39 +32,39 @@
|
|
|
32
32
|
"benchmarks": [
|
|
33
33
|
{
|
|
34
34
|
"test name": "10,000 RBTree add",
|
|
35
|
-
"time taken (ms)": "
|
|
36
|
-
"executions per sec": "
|
|
37
|
-
"sample deviation": "
|
|
35
|
+
"time taken (ms)": "6.17",
|
|
36
|
+
"executions per sec": "161.95",
|
|
37
|
+
"sample deviation": "0.00"
|
|
38
38
|
},
|
|
39
39
|
{
|
|
40
40
|
"test name": "10,000 RBTree add & delete randomly",
|
|
41
|
-
"time taken (ms)": "16.
|
|
42
|
-
"executions per sec": "
|
|
43
|
-
"sample deviation": "
|
|
41
|
+
"time taken (ms)": "16.07",
|
|
42
|
+
"executions per sec": "62.22",
|
|
43
|
+
"sample deviation": "2.62e-4"
|
|
44
44
|
},
|
|
45
45
|
{
|
|
46
46
|
"test name": "10,000 RBTree get",
|
|
47
|
-
"time taken (ms)": "19.
|
|
48
|
-
"executions per sec": "50.
|
|
49
|
-
"sample deviation": "
|
|
47
|
+
"time taken (ms)": "19.86",
|
|
48
|
+
"executions per sec": "50.36",
|
|
49
|
+
"sample deviation": "2.44e-4"
|
|
50
50
|
},
|
|
51
51
|
{
|
|
52
52
|
"test name": "10,000 AVLTree add",
|
|
53
|
-
"time taken (ms)": "
|
|
54
|
-
"executions per sec": "
|
|
55
|
-
"sample deviation": "0.
|
|
53
|
+
"time taken (ms)": "134.38",
|
|
54
|
+
"executions per sec": "7.44",
|
|
55
|
+
"sample deviation": "0.02"
|
|
56
56
|
},
|
|
57
57
|
{
|
|
58
58
|
"test name": "10,000 AVLTree add & delete randomly",
|
|
59
|
-
"time taken (ms)": "
|
|
60
|
-
"executions per sec": "
|
|
61
|
-
"sample deviation": "0.
|
|
59
|
+
"time taken (ms)": "207.20",
|
|
60
|
+
"executions per sec": "4.83",
|
|
61
|
+
"sample deviation": "0.06"
|
|
62
62
|
},
|
|
63
63
|
{
|
|
64
64
|
"test name": "10,000 AVLTree get",
|
|
65
|
-
"time taken (ms)": "0.
|
|
66
|
-
"executions per sec": "
|
|
67
|
-
"sample deviation": "
|
|
65
|
+
"time taken (ms)": "0.98",
|
|
66
|
+
"executions per sec": "1015.54",
|
|
67
|
+
"sample deviation": "2.73e-5"
|
|
68
68
|
}
|
|
69
69
|
],
|
|
70
70
|
"testName": "binary-tree-overall"
|
|
@@ -73,26 +73,26 @@
|
|
|
73
73
|
"benchmarks": [
|
|
74
74
|
{
|
|
75
75
|
"test name": "100,000 add",
|
|
76
|
-
"time taken (ms)": "
|
|
77
|
-
"executions per sec": "
|
|
78
|
-
"sample deviation": "0.
|
|
76
|
+
"time taken (ms)": "86.65",
|
|
77
|
+
"executions per sec": "11.54",
|
|
78
|
+
"sample deviation": "0.02"
|
|
79
79
|
},
|
|
80
80
|
{
|
|
81
81
|
"test name": "100,000 add & delete randomly",
|
|
82
|
-
"time taken (ms)": "
|
|
83
|
-
"executions per sec": "4.
|
|
84
|
-
"sample deviation": "0.
|
|
82
|
+
"time taken (ms)": "221.02",
|
|
83
|
+
"executions per sec": "4.52",
|
|
84
|
+
"sample deviation": "0.03"
|
|
85
85
|
},
|
|
86
86
|
{
|
|
87
87
|
"test name": "100,000 getNode",
|
|
88
|
-
"time taken (ms)": "
|
|
89
|
-
"executions per sec": "5.
|
|
90
|
-
"sample deviation": "
|
|
88
|
+
"time taken (ms)": "190.54",
|
|
89
|
+
"executions per sec": "5.25",
|
|
90
|
+
"sample deviation": "0.00"
|
|
91
91
|
},
|
|
92
92
|
{
|
|
93
93
|
"test name": "100,000 add & iterator",
|
|
94
|
-
"time taken (ms)": "
|
|
95
|
-
"executions per sec": "8.
|
|
94
|
+
"time taken (ms)": "122.10",
|
|
95
|
+
"executions per sec": "8.19",
|
|
96
96
|
"sample deviation": "0.01"
|
|
97
97
|
}
|
|
98
98
|
],
|
|
@@ -102,44 +102,38 @@
|
|
|
102
102
|
"benchmarks": [
|
|
103
103
|
{
|
|
104
104
|
"test name": "1,000 addVertex",
|
|
105
|
-
"time taken (ms)": "0.
|
|
106
|
-
"executions per sec": "
|
|
107
|
-
"sample deviation": "
|
|
105
|
+
"time taken (ms)": "0.11",
|
|
106
|
+
"executions per sec": "8896.51",
|
|
107
|
+
"sample deviation": "2.63e-5"
|
|
108
108
|
},
|
|
109
109
|
{
|
|
110
110
|
"test name": "1,000 addEdge",
|
|
111
|
-
"time taken (ms)": "6.
|
|
112
|
-
"executions per sec": "
|
|
113
|
-
"sample deviation": "
|
|
111
|
+
"time taken (ms)": "6.53",
|
|
112
|
+
"executions per sec": "153.21",
|
|
113
|
+
"sample deviation": "0.00"
|
|
114
114
|
},
|
|
115
115
|
{
|
|
116
116
|
"test name": "1,000 getVertex",
|
|
117
117
|
"time taken (ms)": "0.05",
|
|
118
|
-
"executions per sec": "2.
|
|
119
|
-
"sample deviation": "
|
|
118
|
+
"executions per sec": "2.08e+4",
|
|
119
|
+
"sample deviation": "1.06e-5"
|
|
120
120
|
},
|
|
121
121
|
{
|
|
122
122
|
"test name": "1,000 getEdge",
|
|
123
|
-
"time taken (ms)": "
|
|
124
|
-
"executions per sec": "
|
|
123
|
+
"time taken (ms)": "27.53",
|
|
124
|
+
"executions per sec": "36.33",
|
|
125
125
|
"sample deviation": "0.01"
|
|
126
126
|
},
|
|
127
127
|
{
|
|
128
128
|
"test name": "tarjan",
|
|
129
|
-
"time taken (ms)": "
|
|
130
|
-
"executions per sec": "4.
|
|
129
|
+
"time taken (ms)": "224.53",
|
|
130
|
+
"executions per sec": "4.45",
|
|
131
131
|
"sample deviation": "0.01"
|
|
132
132
|
},
|
|
133
|
-
{
|
|
134
|
-
"test name": "tarjan all",
|
|
135
|
-
"time taken (ms)": "6667.55",
|
|
136
|
-
"executions per sec": "0.15",
|
|
137
|
-
"sample deviation": "0.27"
|
|
138
|
-
},
|
|
139
133
|
{
|
|
140
134
|
"test name": "topologicalSort",
|
|
141
|
-
"time taken (ms)": "
|
|
142
|
-
"executions per sec": "5.
|
|
135
|
+
"time taken (ms)": "184.02",
|
|
136
|
+
"executions per sec": "5.43",
|
|
143
137
|
"sample deviation": "0.00"
|
|
144
138
|
}
|
|
145
139
|
],
|
|
@@ -149,57 +143,57 @@
|
|
|
149
143
|
"benchmarks": [
|
|
150
144
|
{
|
|
151
145
|
"test name": "1,000,000 set",
|
|
152
|
-
"time taken (ms)": "
|
|
153
|
-
"executions per sec": "7.
|
|
154
|
-
"sample deviation": "0.
|
|
146
|
+
"time taken (ms)": "126.27",
|
|
147
|
+
"executions per sec": "7.92",
|
|
148
|
+
"sample deviation": "0.05"
|
|
155
149
|
},
|
|
156
150
|
{
|
|
157
151
|
"test name": "Native Map 1,000,000 set",
|
|
158
|
-
"time taken (ms)": "
|
|
159
|
-
"executions per sec": "4.
|
|
160
|
-
"sample deviation": "0.
|
|
152
|
+
"time taken (ms)": "229.80",
|
|
153
|
+
"executions per sec": "4.35",
|
|
154
|
+
"sample deviation": "0.03"
|
|
161
155
|
},
|
|
162
156
|
{
|
|
163
157
|
"test name": "Native Set 1,000,000 add",
|
|
164
|
-
"time taken (ms)": "
|
|
165
|
-
"executions per sec": "5.
|
|
166
|
-
"sample deviation": "0.
|
|
158
|
+
"time taken (ms)": "175.83",
|
|
159
|
+
"executions per sec": "5.69",
|
|
160
|
+
"sample deviation": "0.01"
|
|
167
161
|
},
|
|
168
162
|
{
|
|
169
163
|
"test name": "1,000,000 set & get",
|
|
170
|
-
"time taken (ms)": "
|
|
171
|
-
"executions per sec": "8.
|
|
172
|
-
"sample deviation": "0.
|
|
164
|
+
"time taken (ms)": "121.34",
|
|
165
|
+
"executions per sec": "8.24",
|
|
166
|
+
"sample deviation": "0.03"
|
|
173
167
|
},
|
|
174
168
|
{
|
|
175
169
|
"test name": "Native Map 1,000,000 set & get",
|
|
176
|
-
"time taken (ms)": "
|
|
177
|
-
"executions per sec": "3.
|
|
170
|
+
"time taken (ms)": "290.80",
|
|
171
|
+
"executions per sec": "3.44",
|
|
178
172
|
"sample deviation": "0.03"
|
|
179
173
|
},
|
|
180
174
|
{
|
|
181
175
|
"test name": "Native Set 1,000,000 add & has",
|
|
182
|
-
"time taken (ms)": "
|
|
183
|
-
"executions per sec": "5.
|
|
184
|
-
"sample deviation": "0.
|
|
176
|
+
"time taken (ms)": "180.71",
|
|
177
|
+
"executions per sec": "5.53",
|
|
178
|
+
"sample deviation": "0.01"
|
|
185
179
|
},
|
|
186
180
|
{
|
|
187
181
|
"test name": "1,000,000 ObjKey set & get",
|
|
188
|
-
"time taken (ms)": "
|
|
189
|
-
"executions per sec": "
|
|
190
|
-
"sample deviation": "0.
|
|
182
|
+
"time taken (ms)": "357.68",
|
|
183
|
+
"executions per sec": "2.80",
|
|
184
|
+
"sample deviation": "0.07"
|
|
191
185
|
},
|
|
192
186
|
{
|
|
193
187
|
"test name": "Native Map 1,000,000 ObjKey set & get",
|
|
194
|
-
"time taken (ms)": "
|
|
195
|
-
"executions per sec": "3.
|
|
196
|
-
"sample deviation": "0.
|
|
188
|
+
"time taken (ms)": "310.57",
|
|
189
|
+
"executions per sec": "3.22",
|
|
190
|
+
"sample deviation": "0.06"
|
|
197
191
|
},
|
|
198
192
|
{
|
|
199
193
|
"test name": "Native Set 1,000,000 ObjKey add & has",
|
|
200
|
-
"time taken (ms)": "278.
|
|
201
|
-
"executions per sec": "3.
|
|
202
|
-
"sample deviation": "0.
|
|
194
|
+
"time taken (ms)": "278.42",
|
|
195
|
+
"executions per sec": "3.59",
|
|
196
|
+
"sample deviation": "0.05"
|
|
203
197
|
}
|
|
204
198
|
],
|
|
205
199
|
"testName": "hash-map"
|
|
@@ -208,20 +202,20 @@
|
|
|
208
202
|
"benchmarks": [
|
|
209
203
|
{
|
|
210
204
|
"test name": "100,000 add & poll",
|
|
211
|
-
"time taken (ms)": "
|
|
212
|
-
"executions per sec": "
|
|
205
|
+
"time taken (ms)": "24.85",
|
|
206
|
+
"executions per sec": "40.24",
|
|
213
207
|
"sample deviation": "0.00"
|
|
214
208
|
},
|
|
215
209
|
{
|
|
216
210
|
"test name": "100,000 add & dfs",
|
|
217
|
-
"time taken (ms)": "33.
|
|
218
|
-
"executions per sec": "30.
|
|
211
|
+
"time taken (ms)": "33.14",
|
|
212
|
+
"executions per sec": "30.17",
|
|
219
213
|
"sample deviation": "0.00"
|
|
220
214
|
},
|
|
221
215
|
{
|
|
222
216
|
"test name": "10,000 fib add & pop",
|
|
223
|
-
"time taken (ms)": "
|
|
224
|
-
"executions per sec": "2.
|
|
217
|
+
"time taken (ms)": "366.11",
|
|
218
|
+
"executions per sec": "2.73",
|
|
225
219
|
"sample deviation": "0.00"
|
|
226
220
|
}
|
|
227
221
|
],
|
|
@@ -231,27 +225,27 @@
|
|
|
231
225
|
"benchmarks": [
|
|
232
226
|
{
|
|
233
227
|
"test name": "1,000,000 push",
|
|
234
|
-
"time taken (ms)": "
|
|
235
|
-
"executions per sec": "4.
|
|
236
|
-
"sample deviation": "0.
|
|
228
|
+
"time taken (ms)": "217.98",
|
|
229
|
+
"executions per sec": "4.59",
|
|
230
|
+
"sample deviation": "0.07"
|
|
237
231
|
},
|
|
238
232
|
{
|
|
239
233
|
"test name": "1,000,000 unshift",
|
|
240
|
-
"time taken (ms)": "
|
|
241
|
-
"executions per sec": "4.
|
|
234
|
+
"time taken (ms)": "223.20",
|
|
235
|
+
"executions per sec": "4.48",
|
|
242
236
|
"sample deviation": "0.08"
|
|
243
237
|
},
|
|
244
238
|
{
|
|
245
239
|
"test name": "1,000,000 unshift & shift",
|
|
246
|
-
"time taken (ms)": "
|
|
247
|
-
"executions per sec": "5.
|
|
248
|
-
"sample deviation": "0.
|
|
240
|
+
"time taken (ms)": "172.87",
|
|
241
|
+
"executions per sec": "5.78",
|
|
242
|
+
"sample deviation": "0.03"
|
|
249
243
|
},
|
|
250
244
|
{
|
|
251
245
|
"test name": "1,000,000 addBefore",
|
|
252
|
-
"time taken (ms)": "
|
|
253
|
-
"executions per sec": "2.
|
|
254
|
-
"sample deviation": "0.
|
|
246
|
+
"time taken (ms)": "387.13",
|
|
247
|
+
"executions per sec": "2.58",
|
|
248
|
+
"sample deviation": "0.20"
|
|
255
249
|
}
|
|
256
250
|
],
|
|
257
251
|
"testName": "doubly-linked-list"
|
|
@@ -260,21 +254,21 @@
|
|
|
260
254
|
"benchmarks": [
|
|
261
255
|
{
|
|
262
256
|
"test name": "1,000,000 push & shift",
|
|
263
|
-
"time taken (ms)": "
|
|
264
|
-
"executions per sec": "4.
|
|
265
|
-
"sample deviation": "0.
|
|
257
|
+
"time taken (ms)": "225.13",
|
|
258
|
+
"executions per sec": "4.44",
|
|
259
|
+
"sample deviation": "0.07"
|
|
266
260
|
},
|
|
267
261
|
{
|
|
268
262
|
"test name": "10,000 push & pop",
|
|
269
|
-
"time taken (ms)": "
|
|
270
|
-
"executions per sec": "4.
|
|
271
|
-
"sample deviation": "0.
|
|
263
|
+
"time taken (ms)": "234.54",
|
|
264
|
+
"executions per sec": "4.26",
|
|
265
|
+
"sample deviation": "0.02"
|
|
272
266
|
},
|
|
273
267
|
{
|
|
274
268
|
"test name": "10,000 addBefore",
|
|
275
|
-
"time taken (ms)": "
|
|
276
|
-
"executions per sec": "
|
|
277
|
-
"sample deviation": "0.
|
|
269
|
+
"time taken (ms)": "252.62",
|
|
270
|
+
"executions per sec": "3.96",
|
|
271
|
+
"sample deviation": "0.00"
|
|
278
272
|
}
|
|
279
273
|
],
|
|
280
274
|
"testName": "singly-linked-list"
|
|
@@ -283,8 +277,8 @@
|
|
|
283
277
|
"benchmarks": [
|
|
284
278
|
{
|
|
285
279
|
"test name": "100,000 add & poll",
|
|
286
|
-
"time taken (ms)": "
|
|
287
|
-
"executions per sec": "13.
|
|
280
|
+
"time taken (ms)": "76.49",
|
|
281
|
+
"executions per sec": "13.07",
|
|
288
282
|
"sample deviation": "0.00"
|
|
289
283
|
}
|
|
290
284
|
],
|
|
@@ -294,45 +288,39 @@
|
|
|
294
288
|
"benchmarks": [
|
|
295
289
|
{
|
|
296
290
|
"test name": "1,000,000 push",
|
|
297
|
-
"time taken (ms)": "13.
|
|
298
|
-
"executions per sec": "
|
|
299
|
-
"sample deviation": "
|
|
300
|
-
},
|
|
301
|
-
{
|
|
302
|
-
"test name": "10,000 push & delete",
|
|
303
|
-
"time taken (ms)": "4716.79",
|
|
304
|
-
"executions per sec": "0.21",
|
|
305
|
-
"sample deviation": "0.13"
|
|
291
|
+
"time taken (ms)": "13.20",
|
|
292
|
+
"executions per sec": "75.75",
|
|
293
|
+
"sample deviation": "2.79e-4"
|
|
306
294
|
},
|
|
307
295
|
{
|
|
308
296
|
"test name": "1,000,000 push & pop",
|
|
309
|
-
"time taken (ms)": "22.
|
|
310
|
-
"executions per sec": "
|
|
311
|
-
"sample deviation": "
|
|
297
|
+
"time taken (ms)": "22.21",
|
|
298
|
+
"executions per sec": "45.03",
|
|
299
|
+
"sample deviation": "3.27e-4"
|
|
312
300
|
},
|
|
313
301
|
{
|
|
314
302
|
"test name": "100,000 push & shift",
|
|
315
|
-
"time taken (ms)": "2.
|
|
316
|
-
"executions per sec": "
|
|
317
|
-
"sample deviation": "1.
|
|
303
|
+
"time taken (ms)": "2.26",
|
|
304
|
+
"executions per sec": "442.24",
|
|
305
|
+
"sample deviation": "1.43e-4"
|
|
318
306
|
},
|
|
319
307
|
{
|
|
320
308
|
"test name": "Native Array 100,000 push & shift",
|
|
321
|
-
"time taken (ms)": "
|
|
322
|
-
"executions per sec": "0.
|
|
323
|
-
"sample deviation": "0.
|
|
309
|
+
"time taken (ms)": "2329.51",
|
|
310
|
+
"executions per sec": "0.43",
|
|
311
|
+
"sample deviation": "0.10"
|
|
324
312
|
},
|
|
325
313
|
{
|
|
326
314
|
"test name": "100,000 unshift & shift",
|
|
327
|
-
"time taken (ms)": "2.
|
|
328
|
-
"executions per sec": "
|
|
329
|
-
"sample deviation": "
|
|
315
|
+
"time taken (ms)": "2.16",
|
|
316
|
+
"executions per sec": "463.83",
|
|
317
|
+
"sample deviation": "8.20e-5"
|
|
330
318
|
},
|
|
331
319
|
{
|
|
332
320
|
"test name": "Native Array 100,000 unshift & shift",
|
|
333
|
-
"time taken (ms)": "
|
|
334
|
-
"executions per sec": "0.
|
|
335
|
-
"sample deviation": "0.
|
|
321
|
+
"time taken (ms)": "4590.64",
|
|
322
|
+
"executions per sec": "0.22",
|
|
323
|
+
"sample deviation": "0.33"
|
|
336
324
|
}
|
|
337
325
|
],
|
|
338
326
|
"testName": "deque"
|
|
@@ -341,27 +329,27 @@
|
|
|
341
329
|
"benchmarks": [
|
|
342
330
|
{
|
|
343
331
|
"test name": "1,000,000 push",
|
|
344
|
-
"time taken (ms)": "
|
|
345
|
-
"executions per sec": "
|
|
346
|
-
"sample deviation": "0.
|
|
332
|
+
"time taken (ms)": "49.92",
|
|
333
|
+
"executions per sec": "20.03",
|
|
334
|
+
"sample deviation": "0.02"
|
|
347
335
|
},
|
|
348
336
|
{
|
|
349
337
|
"test name": "100,000 push & shift",
|
|
350
|
-
"time taken (ms)": "
|
|
351
|
-
"executions per sec": "
|
|
352
|
-
"sample deviation": "
|
|
338
|
+
"time taken (ms)": "5.07",
|
|
339
|
+
"executions per sec": "197.28",
|
|
340
|
+
"sample deviation": "5.86e-4"
|
|
353
341
|
},
|
|
354
342
|
{
|
|
355
343
|
"test name": "Native Array 100,000 push & shift",
|
|
356
|
-
"time taken (ms)": "
|
|
357
|
-
"executions per sec": "0.
|
|
358
|
-
"sample deviation": "0.
|
|
344
|
+
"time taken (ms)": "2315.78",
|
|
345
|
+
"executions per sec": "0.43",
|
|
346
|
+
"sample deviation": "0.13"
|
|
359
347
|
},
|
|
360
348
|
{
|
|
361
349
|
"test name": "Native Array 100,000 push & pop",
|
|
362
|
-
"time taken (ms)": "4.
|
|
363
|
-
"executions per sec": "
|
|
364
|
-
"sample deviation": "
|
|
350
|
+
"time taken (ms)": "4.37",
|
|
351
|
+
"executions per sec": "228.72",
|
|
352
|
+
"sample deviation": "1.32e-4"
|
|
365
353
|
}
|
|
366
354
|
],
|
|
367
355
|
"testName": "queue"
|
|
@@ -370,14 +358,14 @@
|
|
|
370
358
|
"benchmarks": [
|
|
371
359
|
{
|
|
372
360
|
"test name": "1,000,000 push",
|
|
373
|
-
"time taken (ms)": "
|
|
374
|
-
"executions per sec": "
|
|
375
|
-
"sample deviation": "0.
|
|
361
|
+
"time taken (ms)": "44.50",
|
|
362
|
+
"executions per sec": "22.47",
|
|
363
|
+
"sample deviation": "0.01"
|
|
376
364
|
},
|
|
377
365
|
{
|
|
378
366
|
"test name": "1,000,000 push & pop",
|
|
379
|
-
"time taken (ms)": "
|
|
380
|
-
"executions per sec": "18.
|
|
367
|
+
"time taken (ms)": "53.57",
|
|
368
|
+
"executions per sec": "18.67",
|
|
381
369
|
"sample deviation": "0.02"
|
|
382
370
|
}
|
|
383
371
|
],
|
|
@@ -387,15 +375,15 @@
|
|
|
387
375
|
"benchmarks": [
|
|
388
376
|
{
|
|
389
377
|
"test name": "100,000 push",
|
|
390
|
-
"time taken (ms)": "
|
|
391
|
-
"executions per sec": "
|
|
392
|
-
"sample deviation": "
|
|
378
|
+
"time taken (ms)": "42.95",
|
|
379
|
+
"executions per sec": "23.28",
|
|
380
|
+
"sample deviation": "6.68e-4"
|
|
393
381
|
},
|
|
394
382
|
{
|
|
395
383
|
"test name": "100,000 getWords",
|
|
396
|
-
"time taken (ms)": "
|
|
397
|
-
"executions per sec": "
|
|
398
|
-
"sample deviation": "0.
|
|
384
|
+
"time taken (ms)": "92.11",
|
|
385
|
+
"executions per sec": "10.86",
|
|
386
|
+
"sample deviation": "0.01"
|
|
399
387
|
}
|
|
400
388
|
],
|
|
401
389
|
"testName": "trie"
|