First commit
This commit is contained in:
98
node_modules/sonic-boom/bench.js
generated
vendored
Normal file
98
node_modules/sonic-boom/bench.js
generated
vendored
Normal file
@@ -0,0 +1,98 @@
|
||||
'use strict'
|
||||
|
||||
const bench = require('fastbench')
|
||||
const SonicBoom = require('./')
|
||||
const Console = require('console').Console
|
||||
const fs = require('fs')
|
||||
|
||||
const core = fs.createWriteStream('/dev/null')
|
||||
const fd = fs.openSync('/dev/null', 'w')
|
||||
const sonic = new SonicBoom({ fd })
|
||||
const sonic4k = new SonicBoom({ fd, minLength: 4096 })
|
||||
const sonicSync = new SonicBoom({ fd, sync: true })
|
||||
const sonicSync4k = new SonicBoom({ fd, minLength: 4096, sync: true })
|
||||
const sonicBuffer = new SonicBoom({ fd, contentMode: 'buffer' })
|
||||
const sonic4kBuffer = new SonicBoom({ fd, contentMode: 'buffer', minLength: 4096 })
|
||||
const sonicSyncBuffer = new SonicBoom({ fd, contentMode: 'buffer', sync: true })
|
||||
const sonicSync4kBuffer = new SonicBoom({ fd, contentMode: 'buffer', minLength: 4096, sync: true })
|
||||
const dummyConsole = new Console(fs.createWriteStream('/dev/null'))
|
||||
|
||||
const MAX = 10000
|
||||
|
||||
const buf = Buffer.alloc(50, 'hello', 'utf8')
|
||||
const str = buf.toString()
|
||||
|
||||
setTimeout(doBench, 100)
|
||||
|
||||
const run = bench([
|
||||
function benchSonic (cb) {
|
||||
sonic.once('drain', cb)
|
||||
for (let i = 0; i < MAX; i++) {
|
||||
sonic.write(str)
|
||||
}
|
||||
},
|
||||
function benchSonicSync (cb) {
|
||||
sonicSync.once('drain', cb)
|
||||
for (let i = 0; i < MAX; i++) {
|
||||
sonicSync.write(str)
|
||||
}
|
||||
},
|
||||
function benchSonic4k (cb) {
|
||||
sonic4k.once('drain', cb)
|
||||
for (let i = 0; i < MAX; i++) {
|
||||
sonic4k.write(str)
|
||||
}
|
||||
},
|
||||
function benchSonicSync4k (cb) {
|
||||
sonicSync4k.once('drain', cb)
|
||||
for (let i = 0; i < MAX; i++) {
|
||||
sonicSync4k.write(str)
|
||||
}
|
||||
},
|
||||
function benchCore (cb) {
|
||||
core.once('drain', cb)
|
||||
for (let i = 0; i < MAX; i++) {
|
||||
core.write(str)
|
||||
}
|
||||
},
|
||||
function benchConsole (cb) {
|
||||
for (let i = 0; i < MAX; i++) {
|
||||
dummyConsole.log(str)
|
||||
}
|
||||
setImmediate(cb)
|
||||
},
|
||||
function benchSonicBuf (cb) {
|
||||
sonicBuffer.once('drain', cb)
|
||||
for (let i = 0; i < MAX; i++) {
|
||||
sonicBuffer.write(buf)
|
||||
}
|
||||
},
|
||||
function benchSonicSyncBuf (cb) {
|
||||
sonicSyncBuffer.once('drain', cb)
|
||||
for (let i = 0; i < MAX; i++) {
|
||||
sonicSyncBuffer.write(buf)
|
||||
}
|
||||
},
|
||||
function benchSonic4kBuf (cb) {
|
||||
sonic4kBuffer.once('drain', cb)
|
||||
for (let i = 0; i < MAX; i++) {
|
||||
sonic4kBuffer.write(buf)
|
||||
}
|
||||
},
|
||||
function benchSonicSync4kBuf (cb) {
|
||||
sonicSync4kBuffer.once('drain', cb)
|
||||
for (let i = 0; i < MAX; i++) {
|
||||
sonicSync4kBuffer.write(buf)
|
||||
}
|
||||
},
|
||||
function benchCoreBuf (cb) {
|
||||
core.once('drain', cb)
|
||||
for (let i = 0; i < MAX; i++) {
|
||||
core.write(buf)
|
||||
}
|
||||
}
|
||||
], 1000)
|
||||
|
||||
function doBench () {
|
||||
run(run)
|
||||
}
|
||||
Reference in New Issue
Block a user