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
57
58
59
60
61
62
| 'use strict'
|
| const Benchmark = require('benchmark')
| const suite = Benchmark.Suite()
|
| const SemVerStore = require('./index')
| const store1 = SemVerStore()
| const store2 = SemVerStore()
|
| store2
| .set('1.1.1', 1)
| .set('1.1.2', 1)
| .set('1.1.3', 1)
| .set('1.2.1', 1)
| .set('1.2.2', 1)
| .set('1.2.3', 1)
| .set('2.1.1', 1)
| .set('2.1.2', 1)
| .set('2.1.3', 1)
| .set('3.2.1', 1)
| .set('3.2.2', 1)
| .set('3.2.3', 1)
|
| suite
| .add('set', function () {
| store1.set('1.2.3', 1)
| })
| .add('get', function () {
| store1.get('1.2.3')
| })
| .add('get (wildcard)', function () {
| store1.get('*')
| })
| .add('get (minor wildcard)', function () {
| store1.get('1.x')
| })
| .add('get (patch wildcard)', function () {
| store1.get('1.2.x')
| })
| .add('del + set', function () {
| store1.del('1.2.3')
| store1.set('1.2.3', 1)
| })
| .add('del (minor wildcard) + set', function () {
| store1.del('1.x')
| store1.set('1.2.3', 1)
| })
| .add('del (patch wildcard) + set', function () {
| store1.del('1.2.x')
| store1.set('1.2.3', 1)
| })
| .add('set with other keys already present', function () {
| store2.set('1.2.4', 1)
| })
| .add('get with other keys already present', function () {
| store2.get('1.2.4')
| })
| .on('cycle', function (event) {
| console.log(String(event.target))
| })
| .on('complete', function () {})
| .run()
|
|