UNPKG

1.03 kBJavaScriptView Raw
1
2
3var crypto = require('crypto')
4
5//make 10 mb of random data
6var data = []
7var l = 10
8while(l--)
9 data.push(crypto.randomBytes(1024))
10
11var State = require('../state')
12var BLState = require('../bl-state')
13
14function runBench (State, assert) {
15 ;[17, 56, 123, 456, 727, 2013, 9999].forEach(function (n) {
16
17
18 var state = State()
19
20 for(var i = 0; i < data.length; i++)
21 state.add(data[i])
22
23 var out = []
24 while(state.has(n))
25 out.push(state.get(n))
26 out.push(state.get())
27
28// console.log(n, Date.now() - start)
29 if(assert)
30 require('assert').deepEqual(
31 Buffer.concat(out),
32 Buffer.concat(data)
33 )
34 })
35}
36
37var Suite = require('benchmark').Suite
38
39new Suite()
40 .add('BufferListState', function () {
41 runBench(BLState)
42 })
43 .add('State', function () {
44 runBench(State)
45 })
46 .on('cycle', function(event) {
47 console.log(String(event.target));
48 })
49 .on('complete', function() {
50 console.log('Fastest is ' + this.filter('fastest').pluck('name'));
51 })
52 .run()