99 lines
2.3 KiB
JavaScript
99 lines
2.3 KiB
JavaScript
'use strict'
|
|
|
|
const bench = require('fastbench')
|
|
const bunyan = require('bunyan')
|
|
const pino = require('../')
|
|
const fs = require('fs')
|
|
const dest = fs.createWriteStream('/dev/null')
|
|
|
|
const tenStreams = [
|
|
{ stream: dest },
|
|
{ stream: dest },
|
|
{ stream: dest },
|
|
{ stream: dest },
|
|
{ stream: dest },
|
|
{ level: 'debug', stream: dest },
|
|
{ level: 'debug', stream: dest },
|
|
{ level: 'trace', stream: dest },
|
|
{ level: 'warn', stream: dest },
|
|
{ level: 'fatal', stream: dest }
|
|
]
|
|
const pinomsTen = pino({ level: 'debug' }, pino.multistream(tenStreams))
|
|
|
|
const fourStreams = [
|
|
{ stream: dest },
|
|
{ stream: dest },
|
|
{ level: 'debug', stream: dest },
|
|
{ level: 'trace', stream: dest }
|
|
]
|
|
const pinomsFour = pino({ level: 'debug' }, pino.multistream(fourStreams))
|
|
|
|
const pinomsOne = pino({ level: 'info' }, pino.multistream(dest))
|
|
const blogOne = bunyan.createLogger({
|
|
name: 'myapp',
|
|
streams: [{ stream: dest }]
|
|
})
|
|
|
|
const blogTen = bunyan.createLogger({
|
|
name: 'myapp',
|
|
streams: tenStreams
|
|
})
|
|
const blogFour = bunyan.createLogger({
|
|
name: 'myapp',
|
|
streams: fourStreams
|
|
})
|
|
|
|
const max = 10
|
|
const run = bench([
|
|
function benchBunyanTen (cb) {
|
|
for (let i = 0; i < max; i++) {
|
|
blogTen.info('hello world')
|
|
blogTen.debug('hello world')
|
|
blogTen.trace('hello world')
|
|
blogTen.warn('hello world')
|
|
blogTen.fatal('hello world')
|
|
}
|
|
setImmediate(cb)
|
|
},
|
|
function benchPinoMSTen (cb) {
|
|
for (let i = 0; i < max; i++) {
|
|
pinomsTen.info('hello world')
|
|
pinomsTen.debug('hello world')
|
|
pinomsTen.trace('hello world')
|
|
pinomsTen.warn('hello world')
|
|
pinomsTen.fatal('hello world')
|
|
}
|
|
setImmediate(cb)
|
|
},
|
|
function benchBunyanFour (cb) {
|
|
for (let i = 0; i < max; i++) {
|
|
blogFour.info('hello world')
|
|
blogFour.debug('hello world')
|
|
blogFour.trace('hello world')
|
|
}
|
|
setImmediate(cb)
|
|
},
|
|
function benchPinoMSFour (cb) {
|
|
for (let i = 0; i < max; i++) {
|
|
pinomsFour.info('hello world')
|
|
pinomsFour.debug('hello world')
|
|
pinomsFour.trace('hello world')
|
|
}
|
|
setImmediate(cb)
|
|
},
|
|
function benchBunyanOne (cb) {
|
|
for (let i = 0; i < max; i++) {
|
|
blogOne.info('hello world')
|
|
}
|
|
setImmediate(cb)
|
|
},
|
|
function benchPinoMSOne (cb) {
|
|
for (let i = 0; i < max; i++) {
|
|
pinomsOne.info('hello world')
|
|
}
|
|
setImmediate(cb)
|
|
}
|
|
], 10000)
|
|
|
|
run()
|