-
Notifications
You must be signed in to change notification settings - Fork 19
Expand file tree
/
Copy pathbench.js
More file actions
44 lines (37 loc) · 663 Bytes
/
bench.js
File metadata and controls
44 lines (37 loc) · 663 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
'use strict'
const mqemitter = require('./')
const emitter = mqemitter({ concurrency: 10 })
const total = 1000000
let written = 0
let received = 0
const timerKey = 'time for sending ' + total + ' messages'
function write () {
if (written === total) {
return
}
written++
emitter.emit({ topic: 'hello', payload: 'world' }, write)
}
emitter.on('hello', function (msg, cb) {
received++
if (received === total) {
console.timeEnd(timerKey)
}
setImmediate(cb)
})
emitter.on('hello', (msg, cb) => {
setImmediate(cb)
})
console.time(timerKey)
write()
write()
write()
write()
write()
write()
write()
write()
write()
write()
write()
write()