mirror of
https://github.com/Instadapp/Swap-Aggregator-Subgraph.git
synced 2024-07-29 21:57:12 +00:00
58 lines
1.3 KiB
JavaScript
58 lines
1.3 KiB
JavaScript
'use strict'
|
|
|
|
const { Buffer } = require('buffer')
|
|
const Benchmark = require('benchmark')
|
|
if (typeof window !== 'undefined') {
|
|
window.Benchmark = Benchmark
|
|
}
|
|
|
|
const protobuf = require('protocol-buffers')
|
|
const protonsNpm = require('protons')
|
|
const protons = require('../')
|
|
const proto = require('./bench.proto')
|
|
const messages = protobuf(proto)
|
|
const messagesBuf = protons(proto)
|
|
const messagesNpm = protonsNpm(proto)
|
|
|
|
const EXAMPLE = {
|
|
foo: 'hello',
|
|
hello: 42,
|
|
payload: Buffer.from('a'),
|
|
meh: {
|
|
b: {
|
|
tmp: {
|
|
baz: 1000
|
|
}
|
|
},
|
|
lol: 'lol'
|
|
}
|
|
}
|
|
|
|
const suite = new Benchmark.Suite()
|
|
|
|
function add (name, encode, decode) {
|
|
const EXAMPLE_BUFFER = encode(EXAMPLE)
|
|
|
|
suite
|
|
.add(name + ' (encode)', function () {
|
|
return encode(EXAMPLE)
|
|
})
|
|
.add(name + ' (decode)', function () {
|
|
return decode(EXAMPLE_BUFFER)
|
|
})
|
|
.add(name + ' (encode + decode)', function () {
|
|
return decode(encode(EXAMPLE))
|
|
})
|
|
}
|
|
|
|
add('JSON', JSON.stringify, JSON.parse)
|
|
add(`protocol-buffers@${require('protocol-buffers/package.json').version}`, messages.Test.encode, messages.Test.decode)
|
|
add(`protons@${require('protons/package.json').version}`, messagesNpm.Test.encode, messagesNpm.Test.decode)
|
|
add('local', messagesBuf.Test.encode, messagesBuf.Test.decode)
|
|
|
|
suite
|
|
.on('cycle', (e) => {
|
|
console.log(String(e.target))
|
|
})
|
|
.run()
|