diff --git a/README.md b/README.md
index 13ffe3d..13fb309 100644
--- a/README.md
+++ b/README.md
@@ -9,21 +9,21 @@
[//]: # (![npm bundle size](https://img.shields.io/bundlephobia/min/data-structure-typed))
-## Why
-
English | 简体中文
+## Why
+
Do you envy C++ with [STL]() (std::), Python with [collections](), and Java with [java.util]() ? Well, no need to envy
anymore! JavaScript and TypeScript now have [data-structure-typed]().**`Benchmark`** compared with C++ STL. **`API standards`** aligned with ES6 and Java. **`Usability`** is comparable to Python
-### We provide data structures that are not available in JavaScript/TypeScript
+### We provide data structures that are not available in JS/TS
Heap, Binary Tree, RedBlack Tree, Linked List, Deque, Trie, Directed Graph, Undirected Graph, BST, AVL Tree, Priority Queue, Queue, Tree Multiset, Linked List.
-### Performance superior to native JavaScript/TypeScript
+### Performance superior to native JS/TS
**`Queue vs. native Array, 100,000 scale`**
@@ -65,6 +65,30 @@ Heap, Binary Tree, RedBlack Tree, Linked List, Deque, Trie, Directed Graph, Undi
+**`HashMap vs. native Map/Set, 100,000 scale`**
+
+
+
+ Method |
+ Time Taken (ms) |
+
+
+
+
+ HashMap 1,000,000 set |
+ 122.51 |
+
+
+ Native Map 1,000,000 set |
+ 223.80 |
+
+
+ Native Set 1,000,000 add |
+ 185.06 |
+
+
+
+
[//]: # (![Branches](https://img.shields.io/badge/branches-55.47%25-red.svg?style=flat))
[//]: # (![Statements](https://img.shields.io/badge/statements-67%25-red.svg?style=flat))
@@ -814,52 +838,52 @@ avl2.print();
[//]: # (No deletion!!! Start of Replace Section)
avl-tree
-
test name | time taken (ms) | executions per sec | sample deviation |
---|
10,000 add randomly | 72.48 | 13.80 | 0.03 |
10,000 add & delete randomly | 144.14 | 6.94 | 0.03 |
10,000 addMany | 69.71 | 14.35 | 0.02 |
10,000 get | 54.21 | 18.45 | 0.01 |
+
test name | time taken (ms) | executions per sec | sample deviation |
---|
10,000 add randomly | 51.22 | 19.52 | 0.00 |
10,000 add & delete randomly | 110.40 | 9.06 | 0.00 |
10,000 addMany | 58.39 | 17.13 | 6.35e-4 |
10,000 get | 50.59 | 19.77 | 3.87e-4 |
binary-tree
-
test name | time taken (ms) | executions per sec | sample deviation |
---|
1,000 add randomly | 15.84 | 63.14 | 0.00 |
1,000 add & delete randomly | 24.62 | 40.62 | 0.00 |
1,000 addMany | 17.85 | 56.01 | 0.00 |
1,000 get | 20.83 | 48.00 | 0.00 |
1,000 has | 20.78 | 48.13 | 0.00 |
1,000 dfs | 186.06 | 5.37 | 0.02 |
1,000 bfs | 66.58 | 15.02 | 0.02 |
1,000 morris | 298.23 | 3.35 | 0.02 |
+
test name | time taken (ms) | executions per sec | sample deviation |
---|
1,000 add randomly | 13.83 | 72.29 | 1.19e-4 |
1,000 add & delete randomly | 21.49 | 46.54 | 2.34e-4 |
1,000 addMany | 15.93 | 62.78 | 1.27e-4 |
1,000 get | 18.19 | 54.98 | 1.79e-4 |
1,000 has | 18.20 | 54.93 | 1.71e-4 |
1,000 dfs | 161.79 | 6.18 | 7.45e-4 |
1,000 bfs | 56.68 | 17.64 | 4.77e-4 |
1,000 morris | 262.64 | 3.81 | 0.00 |
bst
-
test name | time taken (ms) | executions per sec | sample deviation |
---|
10,000 add randomly | 55.04 | 18.17 | 0.01 |
10,000 add & delete randomly | 129.85 | 7.70 | 0.01 |
10,000 addMany | 50.40 | 19.84 | 0.01 |
10,000 get | 63.39 | 15.78 | 0.01 |
+
test name | time taken (ms) | executions per sec | sample deviation |
---|
10,000 add randomly | 51.51 | 19.41 | 8.70e-4 |
10,000 add & delete randomly | 114.09 | 8.76 | 9.66e-4 |
10,000 addMany | 47.86 | 20.90 | 2.77e-4 |
10,000 get | 51.93 | 19.26 | 6.56e-4 |
rb-tree
-
test name | time taken (ms) | executions per sec | sample deviation |
---|
100,000 add | 113.25 | 8.83 | 0.02 |
100,000 add & delete randomly | 305.28 | 3.28 | 0.03 |
100,000 getNode | 73.20 | 13.66 | 0.03 |
100,000 add & iterator | 159.80 | 6.26 | 0.06 |
+
test name | time taken (ms) | executions per sec | sample deviation |
---|
100,000 add | 86.63 | 11.54 | 0.00 |
100,000 add & delete randomly | 218.88 | 4.57 | 0.01 |
100,000 getNode | 261.16 | 3.83 | 0.00 |
100,000 add & iterator | 117.64 | 8.50 | 0.00 |
comparison
-
test name | time taken (ms) | executions per sec | sample deviation |
---|
SRC PQ 10,000 add | 0.17 | 5872.02 | 4.08e-5 |
CJS PQ 10,000 add | 0.20 | 4961.22 | 1.14e-4 |
MJS PQ 10,000 add | 0.74 | 1351.47 | 2.98e-4 |
SRC PQ 10,000 add & pop | 4.62 | 216.49 | 0.00 |
CJS PQ 10,000 add & pop | 4.36 | 229.40 | 0.00 |
MJS PQ 10,000 add & pop | 3.92 | 255.23 | 0.00 |
+
test name | time taken (ms) | executions per sec | sample deviation |
---|
SRC PQ 10,000 add | 0.14 | 6949.20 | 1.53e-6 |
CJS PQ 10,000 add | 0.14 | 6943.68 | 1.74e-6 |
MJS PQ 10,000 add | 0.57 | 1758.40 | 6.26e-6 |
SRC PQ 10,000 add & pop | 3.40 | 293.94 | 3.50e-5 |
CJS PQ 10,000 add & pop | 3.42 | 292.69 | 5.34e-5 |
MJS PQ 10,000 add & pop | 3.30 | 303.01 | 3.97e-5 |
directed-graph
-
test name | time taken (ms) | executions per sec | sample deviation |
---|
1,000 addVertex | 0.12 | 8557.70 | 2.46e-5 |
1,000 addEdge | 7.37 | 135.70 | 0.00 |
1,000 getVertex | 0.05 | 1.91e+4 | 1.12e-5 |
1,000 getEdge | 22.75 | 43.96 | 0.00 |
tarjan | 196.98 | 5.08 | 0.01 |
tarjan all | 217.25 | 4.60 | 0.03 |
topologicalSort | 177.30 | 5.64 | 0.02 |
+
test name | time taken (ms) | executions per sec | sample deviation |
---|
1,000 addVertex | 0.10 | 9930.74 | 1.11e-6 |
1,000 addEdge | 6.13 | 163.19 | 1.84e-4 |
1,000 getVertex | 0.05 | 2.15e+4 | 5.00e-7 |
1,000 getEdge | 23.57 | 42.43 | 0.00 |
tarjan | 252.05 | 3.97 | 0.03 |
tarjan all | 221.15 | 4.52 | 0.00 |
topologicalSort | 181.07 | 5.52 | 0.00 |
hash-map
-
test name | time taken (ms) | executions per sec | sample deviation |
---|
1,000,000 set | 153.74 | 6.50 | 0.07 |
1,000,000 Map set | 330.02 | 3.03 | 0.16 |
1,000,000 Set add | 258.64 | 3.87 | 0.06 |
1,000,000 set & get | 138.80 | 7.20 | 0.06 |
1,000,000 Map set & get | 352.63 | 2.84 | 0.05 |
1,000,000 Set add & has | 217.97 | 4.59 | 0.02 |
1,000,000 ObjKey set & get | 414.87 | 2.41 | 0.06 |
1,000,000 Map ObjKey set & get | 389.17 | 2.57 | 0.07 |
1,000,000 Set ObjKey add & has | 352.67 | 2.84 | 0.03 |
+
test name | time taken (ms) | executions per sec | sample deviation |
---|
1,000,000 set | 122.90 | 8.14 | 0.04 |
Native Map 1,000,000 set | 215.97 | 4.63 | 0.02 |
Native Set 1,000,000 add | 179.11 | 5.58 | 0.02 |
1,000,000 set & get | 123.10 | 8.12 | 0.04 |
Native Map 1,000,000 set & get | 271.80 | 3.68 | 0.02 |
Native Set 1,000,000 add & has | 176.65 | 5.66 | 0.02 |
1,000,000 ObjKey set & get | 341.97 | 2.92 | 0.07 |
Native Map 1,000,000 ObjKey set & get | 316.86 | 3.16 | 0.04 |
Native Set 1,000,000 ObjKey add & has | 285.14 | 3.51 | 0.06 |
heap
-
test name | time taken (ms) | executions per sec | sample deviation |
---|
100,000 add & pop | 90.67 | 11.03 | 0.02 |
100,000 add & dfs | 40.30 | 24.81 | 0.01 |
10,000 fib add & pop | 414.94 | 2.41 | 0.02 |
+
test name | time taken (ms) | executions per sec | sample deviation |
---|
100,000 add & pop | 80.37 | 12.44 | 0.00 |
100,000 add & dfs | 36.20 | 27.63 | 0.00 |
10,000 fib add & pop | 362.24 | 2.76 | 0.00 |
doubly-linked-list
-
test name | time taken (ms) | executions per sec | sample deviation |
---|
1,000,000 push | 290.62 | 3.44 | 0.10 |
1,000,000 unshift | 253.88 | 3.94 | 0.10 |
1,000,000 unshift & shift | 259.65 | 3.85 | 0.14 |
1,000,000 insertBefore | 463.16 | 2.16 | 0.10 |
+
test name | time taken (ms) | executions per sec | sample deviation |
---|
1,000,000 push | 216.09 | 4.63 | 0.06 |
1,000,000 unshift | 220.68 | 4.53 | 0.02 |
1,000,000 unshift & shift | 172.93 | 5.78 | 0.04 |
1,000,000 insertBefore | 332.25 | 3.01 | 0.08 |
singly-linked-list
-
test name | time taken (ms) | executions per sec | sample deviation |
---|
1,000,000 push & shift | 250.27 | 4.00 | 0.08 |
10,000 push & pop | 261.13 | 3.83 | 0.03 |
10,000 insertBefore | 282.46 | 3.54 | 0.02 |
+
test name | time taken (ms) | executions per sec | sample deviation |
---|
1,000,000 push & shift | 222.99 | 4.48 | 0.10 |
10,000 push & pop | 214.82 | 4.66 | 0.01 |
10,000 insertBefore | 251.24 | 3.98 | 0.01 |
max-priority-queue
-
test name | time taken (ms) | executions per sec | sample deviation |
---|
10,000 refill & poll | 10.49 | 95.29 | 0.00 |
+
test name | time taken (ms) | executions per sec | sample deviation |
---|
10,000 refill & poll | 8.91 | 112.19 | 1.57e-4 |
priority-queue
-
test name | time taken (ms) | executions per sec | sample deviation |
---|
100,000 add & pop | 110.63 | 9.04 | 0.01 |
+
test name | time taken (ms) | executions per sec | sample deviation |
---|
100,000 add & pop | 101.70 | 9.83 | 0.00 |
deque
-
test name | time taken (ms) | executions per sec | sample deviation |
---|
1,000,000 push | 15.89 | 62.92 | 0.00 |
1,000,000 push & pop | 26.45 | 37.81 | 0.01 |
1,000,000 push & shift | 27.52 | 36.34 | 0.00 |
1,000,000 unshift & shift | 28.82 | 34.70 | 0.01 |
+
test name | time taken (ms) | executions per sec | sample deviation |
---|
1,000,000 push | 13.80 | 72.47 | 1.56e-4 |
1,000,000 push & pop | 22.72 | 44.02 | 2.02e-4 |
100,000 push & shift | 2.35 | 425.67 | 5.80e-5 |
Native Array 100,000 push & shift | 2511.14 | 0.40 | 0.36 |
100,000 unshift & shift | 2.23 | 447.89 | 3.30e-4 |
Native Array 100,000 unshift & shift | 4140.23 | 0.24 | 0.33 |
queue
-
test name | time taken (ms) | executions per sec | sample deviation |
---|
1,000,000 push | 51.21 | 19.53 | 0.02 |
1,000,000 push & shift | 105.56 | 9.47 | 0.05 |
+
test name | time taken (ms) | executions per sec | sample deviation |
---|
1,000,000 push | 43.65 | 22.91 | 0.01 |
100,000 push & shift | 4.99 | 200.28 | 9.54e-5 |
Native Array 100,000 push & shift | 2335.63 | 0.43 | 0.33 |
Native Array 100,000 push & pop | 4.39 | 227.81 | 0.00 |
stack
-
test name | time taken (ms) | executions per sec | sample deviation |
---|
1,000,000 push | 43.57 | 22.95 | 0.01 |
1,000,000 push & pop | 55.18 | 18.12 | 0.01 |
+
test name | time taken (ms) | executions per sec | sample deviation |
---|
1,000,000 push | 45.38 | 22.04 | 0.01 |
1,000,000 push & pop | 49.52 | 20.19 | 0.01 |
trie
-
test name | time taken (ms) | executions per sec | sample deviation |
---|
100,000 push | 54.08 | 18.49 | 0.01 |
100,000 getWords | 77.77 | 12.86 | 0.02 |
+
test name | time taken (ms) | executions per sec | sample deviation |
---|
100,000 push | 42.99 | 23.26 | 0.00 |
100,000 getWords | 89.78 | 11.14 | 0.00 |
[//]: # (No deletion!!! End of Replace Section)
diff --git a/README_zh-CN.md b/README_zh-CN.md
index 429384b..f5f4140 100644
--- a/README_zh-CN.md
+++ b/README_zh-CN.md
@@ -9,10 +9,10 @@
[//]: # (![npm bundle size](https://img.shields.io/bundlephobia/min/data-structure-typed))
-## 为什么
-
English | 简体中文
+## 为什么
+
JavaScript和TypeScript的数据结构。
是否羡慕C++ [STL]() (std::)、Python的 [collections]() 和Java的 [java.util]()?
@@ -22,12 +22,12 @@ JavaScript和TypeScript的数据结构。
**`基准测试`** 与C++ STL相比。**`API 标准`** 与ES6和Java对齐。**`易用性`** 可与Python媲美。
-### 提供了JavaScript/TypeScript中没有的数据结构
+### 提供了JS/TS中没有的数据结构
Heap, Binary Tree, RedBlack Tree, Linked List, Deque, Trie, Directed Graph, Undirected Graph, BST, AVL Tree, Priority Queue, Queue, Tree Multiset, Linked List.
-### 性能超越原生JavaScript/TypeScript
+### 性能超越原生JS/TS
**`Queue和原生Array, 在100,000数据规模下性能对比`**
@@ -69,6 +69,31 @@ Heap, Binary Tree, RedBlack Tree, Linked List, Deque, Trie, Directed Graph, Undi
+
+**`HashMap和原生Map/Set在100,000数据规模下的性能对比`**
+
+
+
+ Method |
+ Time Taken (ms) |
+
+
+
+
+ HashMap 1,000,000 set |
+ 122.51 |
+
+
+ Native Map 1,000,000 set |
+ 223.80 |
+
+
+ Native Set 1,000,000 add |
+ 185.06 |
+
+
+
+
[//]: # (![Branches](https://img.shields.io/badge/branches-55.47%25-red.svg?style=flat))
[//]: # (![Statements](https://img.shields.io/badge/statements-67%25-red.svg?style=flat))
diff --git a/package.json b/package.json
index 8e01109..9c3ce53 100644
--- a/package.json
+++ b/package.json
@@ -1,7 +1,7 @@
{
"name": "data-structure-typed",
"version": "1.48.6",
- "description": "Data Structures of Javascript & TypeScript. Heap, Binary Tree, RedBlack Tree, Linked List, Deque, Trie, HashMap, Directed Graph, Undirected Graph, Binary Search Tree(BST), AVL Tree, Priority Queue, Graph, Queue, Tree Multiset, Singly Linked List, Doubly Linked List, Max Heap, Max Priority Queue, Min Heap, Min Priority Queue, Stack. Benchmark compared with C++ STL. API aligned with ES6 and Java. Usability is comparable to Python",
+ "description": "Data Structures of Javascript & TypeScript. Heap, Binary Tree, Red Black Tree, Linked List, Deque, Trie, HashMap, Directed Graph, Undirected Graph, Binary Search Tree(BST), AVL Tree, Priority Queue, Graph, Queue, Tree Multiset, Singly Linked List, Doubly Linked List, Max Heap, Max Priority Queue, Min Heap, Min Priority Queue, Stack. Benchmark compared with C++ STL. API aligned with ES6 and Java. Usability is comparable to Python",
"main": "dist/cjs/index.js",
"module": "dist/mjs/index.js",
"types": "dist/mjs/index.d.ts",
diff --git a/test/performance/data-structures/binary-tree/rb-tree.test.ts b/test/performance/data-structures/binary-tree/rb-tree.test.ts
index 0b6f89e..d8f69f6 100644
--- a/test/performance/data-structures/binary-tree/rb-tree.test.ts
+++ b/test/performance/data-structures/binary-tree/rb-tree.test.ts
@@ -18,7 +18,7 @@ suite.add(`${HUNDRED_THOUSAND.toLocaleString()} add`, () => {
});
if (isCompetitor) {
- suite.add(`${HUNDRED_THOUSAND.toLocaleString()} CPT add`, () => {
+ suite.add(`CPT ${HUNDRED_THOUSAND.toLocaleString()} add`, () => {
for (let i = 0; i < arr.length; i++) {
cOrderedMap.setElement(arr[i], arr[i]);
}
diff --git a/test/performance/data-structures/hash/hash-map.test.ts b/test/performance/data-structures/hash/hash-map.test.ts
index 40a35dd..473b9e5 100644
--- a/test/performance/data-structures/hash/hash-map.test.ts
+++ b/test/performance/data-structures/hash/hash-map.test.ts
@@ -16,7 +16,7 @@ suite.add(`${MILLION.toLocaleString()} set`, () => {
});
if (isCompetitor) {
- suite.add(`${MILLION.toLocaleString()} CPT set`, () => {
+ suite.add(`CPT ${MILLION.toLocaleString()} set`, () => {
const hm = new CHashMap();
for (let i = 0; i < MILLION; i++) {
@@ -25,13 +25,13 @@ if (isCompetitor) {
});
}
-suite.add(`${MILLION.toLocaleString()} Map set`, () => {
+suite.add(`Native Map ${MILLION.toLocaleString()} set`, () => {
const hm = new Map();
for (let i = 0; i < MILLION; i++) hm.set(i, i);
});
-suite.add(`${MILLION.toLocaleString()} Set add`, () => {
+suite.add(`Native Set ${MILLION.toLocaleString()} add`, () => {
const hs = new Set();
for (let i = 0; i < MILLION; i++) hs.add(i);
@@ -49,7 +49,7 @@ suite.add(`${MILLION.toLocaleString()} set & get`, () => {
});
if (isCompetitor) {
- suite.add(`${MILLION.toLocaleString()} CPT set & get`, () => {
+ suite.add(`CPT ${MILLION.toLocaleString()} set & get`, () => {
const hm = new CHashMap();
for (let i = 0; i < MILLION; i++) {
@@ -61,7 +61,7 @@ if (isCompetitor) {
});
}
-suite.add(`${MILLION.toLocaleString()} Map set & get`, () => {
+suite.add(`Native Map ${MILLION.toLocaleString()} set & get`, () => {
const hm = new Map();
for (let i = 0; i < MILLION; i++) {
@@ -72,7 +72,7 @@ suite.add(`${MILLION.toLocaleString()} Map set & get`, () => {
}
});
-suite.add(`${MILLION.toLocaleString()} Set add & has`, () => {
+suite.add(`Native Set ${MILLION.toLocaleString()} add & has`, () => {
const hs = new Set();
for (let i = 0; i < MILLION; i++) hs.add(i);
@@ -94,7 +94,7 @@ suite.add(`${MILLION.toLocaleString()} ObjKey set & get`, () => {
}
});
-suite.add(`${MILLION.toLocaleString()} Map ObjKey set & get`, () => {
+suite.add(`Native Map ${MILLION.toLocaleString()} ObjKey set & get`, () => {
const hm = new Map<[number, number], number>();
const objs: [number, number][] = [];
for (let i = 0; i < MILLION; i++) {
@@ -107,7 +107,7 @@ suite.add(`${MILLION.toLocaleString()} Map ObjKey set & get`, () => {
}
});
-suite.add(`${MILLION.toLocaleString()} Set ObjKey add & has`, () => {
+suite.add(`Native Set ${MILLION.toLocaleString()} ObjKey add & has`, () => {
const hs = new Set<[number, number]>();
const objs: [number, number][] = [];
for (let i = 0; i < MILLION; i++) {
diff --git a/test/performance/data-structures/linked-list/doubly-linked-list.test.ts b/test/performance/data-structures/linked-list/doubly-linked-list.test.ts
index 1472ad7..339e620 100644
--- a/test/performance/data-structures/linked-list/doubly-linked-list.test.ts
+++ b/test/performance/data-structures/linked-list/doubly-linked-list.test.ts
@@ -17,7 +17,7 @@ suite.add(`${LINEAR.toLocaleString()} push`, () => {
if (isCompetitor) {
- suite.add(`${LINEAR.toLocaleString()} CPT push`, () => {
+ suite.add(`CPT ${LINEAR.toLocaleString()} push`, () => {
const list = new CLinkedList();
for (let i = 0; i < LINEAR; i++) {
@@ -35,7 +35,7 @@ suite.add(`${LINEAR.toLocaleString()} unshift`, () => {
});
if (isCompetitor) {
- suite.add(`${LINEAR.toLocaleString()} CPT unshift`, () => {
+ suite.add(`CPT ${LINEAR.toLocaleString()} unshift`, () => {
const list = new CLinkedList();
for (let i = 0; i < LINEAR; i++) {
diff --git a/test/performance/data-structures/priority-queue/priority-queue.test.ts b/test/performance/data-structures/priority-queue/priority-queue.test.ts
index ca2bdc7..6fe6154 100644
--- a/test/performance/data-structures/priority-queue/priority-queue.test.ts
+++ b/test/performance/data-structures/priority-queue/priority-queue.test.ts
@@ -19,7 +19,7 @@ suite.add(`${HUNDRED_THOUSAND.toLocaleString()} add & pop`, () => {
}
});
if (isCompetitor) {
- suite.add(`${HUNDRED_THOUSAND.toLocaleString()} CPT add & pop`, () => {
+ suite.add(`CPT ${HUNDRED_THOUSAND.toLocaleString()} add & pop`, () => {
const pq = new CPriorityQueue();
for (let i = 0; i < HUNDRED_THOUSAND; i++) {
diff --git a/test/performance/data-structures/queue/deque.test.ts b/test/performance/data-structures/queue/deque.test.ts
index ac701f3..588ab41 100644
--- a/test/performance/data-structures/queue/deque.test.ts
+++ b/test/performance/data-structures/queue/deque.test.ts
@@ -13,7 +13,7 @@ suite.add(`${LINEAR.toLocaleString()} push`, () => {
});
if (isCompetitor) {
- suite.add(`${LINEAR.toLocaleString()} CPT push`, () => {
+ suite.add(`CPT ${LINEAR.toLocaleString()} push`, () => {
const _deque = new CDeque();
for (let i = 0; i < LINEAR; i++) _deque.pushBack(i);
});
@@ -33,7 +33,7 @@ suite.add(`${LINEAR.toLocaleString()} push & pop`, () => {
for (let i = 0; i < HUNDRED_THOUSAND; i++) _deque.push(i);
for (let i = 0; i < HUNDRED_THOUSAND; i++) _deque.shift();
})
- .add(`${HUNDRED_THOUSAND.toLocaleString()} Array push & shift`, () => {
+ .add(`Native Array ${HUNDRED_THOUSAND.toLocaleString()} push & shift`, () => {
const _deque = new Array();
for (let i = 0; i < HUNDRED_THOUSAND; i++) _deque.push(i);
@@ -45,7 +45,7 @@ suite.add(`${LINEAR.toLocaleString()} push & pop`, () => {
for (let i = 0; i < HUNDRED_THOUSAND; i++) _deque.unshift(i);
for (let i = 0; i < HUNDRED_THOUSAND; i++) _deque.shift();
})
- .add(`${HUNDRED_THOUSAND.toLocaleString()} Array unshift & shift`, () => {
+ .add(`Native Array ${HUNDRED_THOUSAND.toLocaleString()} unshift & shift`, () => {
const _deque = new Array();
for (let i = 0; i < HUNDRED_THOUSAND; i++) _deque.unshift(i);
diff --git a/test/performance/data-structures/queue/queue.test.ts b/test/performance/data-structures/queue/queue.test.ts
index b6cf5ef..c476fa8 100644
--- a/test/performance/data-structures/queue/queue.test.ts
+++ b/test/performance/data-structures/queue/queue.test.ts
@@ -15,7 +15,7 @@ suite.add(`${LINEAR.toLocaleString()} push`, () => {
}
});
if (isCompetitor) {
- suite.add(`${LINEAR.toLocaleString()} CPT push`, () => {
+ suite.add(`CPT ${LINEAR.toLocaleString()} push`, () => {
const queue = new CQueue();
for (let i = 0; i < LINEAR; i++) {
@@ -33,7 +33,7 @@ suite.add(`${HUNDRED_THOUSAND.toLocaleString()} push & shift`, () => {
queue.shift();
}
});
-suite.add(`${HUNDRED_THOUSAND.toLocaleString()} Array push & shift`, () => {
+suite.add(`Native Array ${HUNDRED_THOUSAND.toLocaleString()} push & shift`, () => {
const arr = new Array();
for (let i = 0; i < HUNDRED_THOUSAND; i++) {
@@ -43,7 +43,7 @@ suite.add(`${HUNDRED_THOUSAND.toLocaleString()} Array push & shift`, () => {
arr.shift();
}
})
- .add(`${HUNDRED_THOUSAND.toLocaleString()} Array push & pop`, () => {
+ .add(`Native Array ${HUNDRED_THOUSAND.toLocaleString()} push & pop`, () => {
const arr = new Array();
for (let i = 0; i < HUNDRED_THOUSAND; i++) {
diff --git a/test/performance/data-structures/stack/stack.test.ts b/test/performance/data-structures/stack/stack.test.ts
index e4a2742..4731c21 100644
--- a/test/performance/data-structures/stack/stack.test.ts
+++ b/test/performance/data-structures/stack/stack.test.ts
@@ -15,7 +15,7 @@ suite.add(`${LINEAR.toLocaleString()} push`, () => {
}
});
if (isCompetitor) {
- suite.add(`${LINEAR.toLocaleString()} CPT push`, () => {
+ suite.add(`CPT ${LINEAR.toLocaleString()} push`, () => {
const queue = new CStack();
for (let i = 0; i < LINEAR; i++) {
@@ -34,7 +34,7 @@ suite.add(`${LINEAR.toLocaleString()} push & pop`, () => {
}
});
if (isCompetitor) {
- suite.add(`${LINEAR.toLocaleString()} CPT push & pop`, () => {
+ suite.add(`CPT ${LINEAR.toLocaleString()} push & pop`, () => {
const queue = new CStack();
for (let i = 0; i < LINEAR; i++) {