mirror of
https://github.com/danbulant/node-x11
synced 2026-06-12 11:10:31 +00:00
InternAtom request benchmarks
This commit is contained in:
parent
4164611a06
commit
4c1a2b8209
3 changed files with 97 additions and 1 deletions
|
|
@ -254,7 +254,6 @@ module.exports.createClient = function()
|
|||
// open stream
|
||||
var stream;
|
||||
var defaultTransportName = platformDefaultTransport[process.platform];
|
||||
console.error('Cunnecting using ' + defaultTransportName + ' socket');
|
||||
// use tcp if stated explicitly or if not defined at all
|
||||
if (!defaultTransportName || defaultTransportName == 'tcp')
|
||||
stream = net.createConnection(6000);
|
||||
|
|
|
|||
45
test/atom_benchmark_buffered.js
Normal file
45
test/atom_benchmark_buffered.js
Normal file
|
|
@ -0,0 +1,45 @@
|
|||
// WinServ2008R2, Intel(R) Core(TM) i7 CPU 870 @ 2.93GHz
|
||||
// 0.4.3: 12000 +/-1000 InternAtom/sec
|
||||
// 0.5.1: 12000 +/-1000
|
||||
|
||||
var x11 = require('../lib/x11');
|
||||
|
||||
var xclient = x11.createClient();
|
||||
var counter = 0;
|
||||
var t = +new Date();
|
||||
var t0 = t;
|
||||
var num = 10000;
|
||||
xclient.on('connect', function(display) {
|
||||
var X = this;
|
||||
for (var i=0; i < num; ++i)
|
||||
{
|
||||
var hello = 'Hello, node.js ' + i;
|
||||
X.InternAtom(false, hello, function(atomId) {
|
||||
if (counter == 0)
|
||||
{
|
||||
var t1 = +new Date();
|
||||
console.log('first reply after sending %d atoms in %d ms', num, t1-t);
|
||||
t = t1;
|
||||
}
|
||||
//console.log('atom %d saved on server', atomId);
|
||||
/*
|
||||
if ((counter % 1000) == 0)
|
||||
{
|
||||
var t1 = +new Date();
|
||||
console.log('received 1000 (up to %d) atom ids in %d ms', counter, t1 - t);
|
||||
t = t1;
|
||||
}
|
||||
*/
|
||||
counter++;
|
||||
if (counter == num)
|
||||
{
|
||||
var t1 = +new Date();
|
||||
var delta = t1 - t0;
|
||||
console.log(delta);
|
||||
console.log('reqs/msec: ' + num/delta);
|
||||
console.log('msec per req: ' + delta/num);
|
||||
process.exit(0); // TODO: X.end() ?
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
52
test/atom_benchmark_parallel.js
Normal file
52
test/atom_benchmark_parallel.js
Normal file
|
|
@ -0,0 +1,52 @@
|
|||
// test results:
|
||||
|
||||
// WinServ2008R2, Intel(R) Core(TM) i7 CPU 870 @ 2.93GHz
|
||||
// 0.4.3: 8500 +/- 2000 InternAtom/sec
|
||||
// 0.5.1: N/A
|
||||
|
||||
var x11 = require('../lib/x11');
|
||||
|
||||
var xclient = x11.createClient();
|
||||
var reqcounter = 0;
|
||||
var rescounter = 0;
|
||||
|
||||
var t = +new Date();
|
||||
var t0 = t;
|
||||
var num = 400000;
|
||||
var X;
|
||||
|
||||
var t0 = +new Date();
|
||||
|
||||
function benchmarkAtoms()
|
||||
{
|
||||
if (reqcounter > num)
|
||||
return;
|
||||
|
||||
X.InternAtom(false, 'test ' + reqcounter, function(atomId) {
|
||||
rescounter++;
|
||||
//console.log('%d received', rescounter);
|
||||
//if ( (rescounter % 1000) == 0)
|
||||
// console.log(reqcounter - rescounter);
|
||||
if (rescounter == num)
|
||||
{
|
||||
var t1 = +new Date();
|
||||
var delta = t1 - t0;
|
||||
console.log(delta);
|
||||
console.log('reqs/msec: ' + num/delta);
|
||||
console.log('msec per req: ' + delta/num);
|
||||
|
||||
process.exit(0);
|
||||
}
|
||||
});
|
||||
|
||||
reqcounter++;
|
||||
//console.log('%d sent', reqcounter);
|
||||
process.nextTick(benchmarkAtoms);
|
||||
}
|
||||
|
||||
|
||||
|
||||
xclient.on('connect', function(display) {
|
||||
X = this;
|
||||
benchmarkAtoms();
|
||||
});
|
||||
Loading…
Reference in a new issue