-
Notifications
You must be signed in to change notification settings - Fork 4
/
Copy pathbenchmark.ts
56 lines (53 loc) · 1.75 KB
/
benchmark.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
import benny from 'benny';
import fLI from 'fast-lorem-ipsum';
import fastChunkString from './lib';
const words5000 = fLI(5000, 'w');
const words50000 = fLI(50000, 'w');
const words500000 = fLI(500000, 'w');
const words5000000 = fLI(5000000, 'w');
benny.suite(
'Without Unicode',
benny.add('~33 kb split by 2 kb', () => {
fastChunkString(words5000, {size: 2 * 1024});
}),
benny.add('~33 kb split by 1 mb', () => {
fastChunkString(words5000, {size: 1024 * 1024});
}),
benny.add('~330 kb split by 2 kb', () => {
fastChunkString(words50000, {size: 2 * 1024});
}),
benny.add('~330 kb split by 1 mb', () => {
fastChunkString(words50000, {size: 1024 * 1024});
}),
benny.add('~3.3 mb split by 2 kb', () => {
fastChunkString(words500000, {size: 2 * 1024});
}),
benny.add('~3.3 mb split by 1 mb', () => {
fastChunkString(words500000, {size: 1024 * 1024});
}),
benny.add('~33 mb split by 2 kb', () => {
fastChunkString(words5000000, {size: 2 * 1024});
}),
benny.add('~33 mb split by 1 mb', () => {
fastChunkString(words5000000, {size: 1024 * 1024});
}),
benny.cycle(),
benny.complete(),
);
benny.suite(
'Unicode Aware',
benny.add('~33 kb split by 2 kb with unicodeAware', () => {
fastChunkString(words5000, {size: 2 * 1024, unicodeAware: true});
}),
benny.add('~33 kb split by 1 mb with unicodeAware', () => {
fastChunkString(words5000, {size: 1024 * 1024, unicodeAware: true});
}),
benny.add('~330 kb split by 2 kb with unicodeAware', () => {
fastChunkString(words50000, {size: 2 * 1024, unicodeAware: true});
}),
benny.add('~330 kb split by 1 mb with unicodeAware', () => {
fastChunkString(words50000, {size: 1024 * 1024, unicodeAware: true});
}),
benny.cycle(),
benny.complete(),
);