data-structure-typed
Version:
Standard data structure
38 lines (34 loc) • 1.49 kB
text/typescript
import { AVLTree, RedBlackTree } from '../../../../src';
import * as Benchmark from 'benchmark';
import { getRandomIntArray, magnitude } from '../../../utils';
const suite = new Benchmark.Suite();
const rbTree = new RedBlackTree<number>();
const avlTree = new AVLTree<number>();
const { TEN_THOUSAND } = magnitude;
const arr = getRandomIntArray(TEN_THOUSAND, 0, TEN_THOUSAND - 1, true);
suite
.add(`${TEN_THOUSAND.toLocaleString()} RedBlackTree add randomly`, () => {
rbTree.clear();
for (let i = 0; i < arr.length; i++) rbTree.add(arr[i]);
})
.add(`${TEN_THOUSAND.toLocaleString()} RedBlackTree get randomly`, () => {
for (let i = 0; i < arr.length; i++) rbTree.get(arr[i]);
})
.add(`${TEN_THOUSAND.toLocaleString()} RedBlackTree add & delete randomly`, () => {
rbTree.clear();
for (let i = 0; i < arr.length; i++) rbTree.add(arr[i]);
for (let i = 0; i < arr.length; i++) rbTree.delete(arr[i]);
})
.add(`${TEN_THOUSAND.toLocaleString()} AVLTree add randomly`, () => {
avlTree.clear();
for (let i = 0; i < arr.length; i++) avlTree.add(arr[i]);
})
.add(`${TEN_THOUSAND.toLocaleString()} AVLTree get randomly`, () => {
for (let i = 0; i < arr.length; i++) avlTree.get(arr[i]);
})
.add(`${TEN_THOUSAND.toLocaleString()} AVLTree add & delete randomly`, () => {
avlTree.clear();
for (let i = 0; i < arr.length; i++) avlTree.add(arr[i]);
for (let i = 0; i < arr.length; i++) avlTree.delete(arr[i]);
});
export { suite };