wzp
2021-05-13 7d694a9113118daec5be7ac224dab46a3b20f106
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()