You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

63 lines
1.3 KiB

'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()