mirror of
https://github.com/zebrajr/node.git
synced 2025-12-06 12:20:27 +01:00
benchmark: calibrate config dgram multi-buffer
PR-URL: https://github.com/nodejs/node/pull/59696 Reviewed-By: Rafael Gonzaga <rafael.nunu@hotmail.com> Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
This commit is contained in:
parent
1442023134
commit
5ed1a47bab
|
|
@ -5,18 +5,18 @@ const common = require('../common.js');
|
|||
const dgram = require('dgram');
|
||||
const PORT = common.PORT;
|
||||
|
||||
// `num` is the number of send requests to queue up each time.
|
||||
// `n` is the number of send requests to queue up each time.
|
||||
// Keep it reasonably high (>10) otherwise you're benchmarking the speed of
|
||||
// event loop cycles more than anything else.
|
||||
const bench = common.createBenchmark(main, {
|
||||
len: [64, 256, 1024],
|
||||
num: [100],
|
||||
chunks: [1, 2, 4, 8],
|
||||
len: [64, 512, 1024],
|
||||
n: [100],
|
||||
chunks: [1, 8],
|
||||
type: ['send', 'recv'],
|
||||
dur: [5],
|
||||
});
|
||||
|
||||
function main({ dur, len, num, type, chunks }) {
|
||||
function main({ dur, len, n, type, chunks }) {
|
||||
const chunk = [];
|
||||
for (let i = 0; i < chunks; i++) {
|
||||
chunk.push(Buffer.allocUnsafe(Math.round(len / chunks)));
|
||||
|
|
@ -26,11 +26,11 @@ function main({ dur, len, num, type, chunks }) {
|
|||
const socket = dgram.createSocket('udp4');
|
||||
|
||||
function onsend() {
|
||||
if (sent++ % num === 0) {
|
||||
if (sent++ % n === 0) {
|
||||
// The setImmediate() is necessary to have event loop progress on OSes
|
||||
// that only perform synchronous I/O on nonblocking UDP sockets.
|
||||
setImmediate(() => {
|
||||
for (let i = 0; i < num; i++) {
|
||||
for (let i = 0; i < n; i++) {
|
||||
socket.send(chunk, PORT, '127.0.0.1', onsend);
|
||||
}
|
||||
});
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user