mirror of
https://github.com/danbulant/node-x11
synced 2026-05-22 13:59:11 +00:00
move benchmarks to separate folder
This commit is contained in:
parent
c5c5d973b5
commit
de3ad6be9c
4 changed files with 215 additions and 0 deletions
51
test/benchmarks/atom_benchmark_buffered.js
Normal file
51
test/benchmarks/atom_benchmark_buffered.js
Normal file
|
|
@ -0,0 +1,51 @@
|
|||
// WinServ2008R2 64bit, Intel(R) Core(TM) i7 CPU 870 @2.93GHz, Xming 6.9.0.31
|
||||
// 0.4.3/cygwin 32bit: 12000 +/-1000 InternAtom/sec
|
||||
// 0.5.1/win32 : 12000 +/-1000
|
||||
|
||||
// Ubuntu 11.04 32bit, Intel(R) Core(TM)2 Duo CPU T7250 @2.00GHz, XOrg 1:7.6+4ubuntu3.1
|
||||
// 0.4.9pre: 23300 +/-200
|
||||
|
||||
|
||||
var x11 = require('../lib/x11');
|
||||
|
||||
var xclient = x11.createClient();
|
||||
var counter = 0;
|
||||
var t = +new Date();
|
||||
var t0 = t;
|
||||
var num = 100000;
|
||||
xclient.on('connect', function(display) {
|
||||
console.log(display);
|
||||
process.exit(0);
|
||||
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 % 10000) == 0)
|
||||
{
|
||||
var t1 = +new Date();
|
||||
console.log('received 10000 (up to %d) atom ids in %d ms', counter, t1 - t);
|
||||
t = t1;
|
||||
}
|
||||
|
||||
counter++;
|
||||
if (counter == (num-1))
|
||||
{
|
||||
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() ?
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
63
test/benchmarks/atom_benchmark_parallel.js
Normal file
63
test/benchmarks/atom_benchmark_parallel.js
Normal file
|
|
@ -0,0 +1,63 @@
|
|||
// test results:
|
||||
|
||||
// WinServ2008R2, Intel(R) Core(TM) i7 CPU 870 @ 2.93GHz + Xming 6.9.0.31
|
||||
//
|
||||
// 0.4.3/cygwin 32bit : 8500 +/- 2000 InternAtom/sec
|
||||
// 0.5.1/win32 : N/A
|
||||
//
|
||||
// Ubuntu 11.04 32bit, Intel(R) Core(TM)2 Duo CPU T7250 @2.00GHz, XOrg 1:7.6+4ubuntu3.1
|
||||
// 0.4.9pre: 16700 +/-300
|
||||
|
||||
|
||||
var x11 = require('../lib/x11');
|
||||
|
||||
var xclient = x11.createClient();
|
||||
var reqcounter = 0;
|
||||
var rescounter = 0;
|
||||
|
||||
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 % 10000) == 0)
|
||||
{
|
||||
var t2 = X.t1;
|
||||
X.t1 = +new Date();
|
||||
var delta = X.t1 - t2;
|
||||
console.log(reqcounter - rescounter);
|
||||
console.log('reqs/msec: ' + 10000/delta);
|
||||
console.log('msec per req: ' + delta/10000);
|
||||
}
|
||||
if (rescounter == (num-2))
|
||||
{
|
||||
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;
|
||||
X.t1 = +new Date();
|
||||
benchmarkAtoms();
|
||||
});
|
||||
53
test/benchmarks/query_pointer_benchmark_parallel.js
Normal file
53
test/benchmarks/query_pointer_benchmark_parallel.js
Normal file
|
|
@ -0,0 +1,53 @@
|
|||
// test results:
|
||||
|
||||
// WinServ2008R2, Intel(R) Core(TM) i7 CPU 870 @ 2.93GHz + Xming 6.9.0.31
|
||||
//
|
||||
// 0.4.3/cygwin 32bit : 6900 +/- 200 req/sec
|
||||
// 0.5.1/win32 : 3700 +/- 200 req/sec
|
||||
// cygwin x11perf -sync -pointer : 2800 +/- 200 req/sec
|
||||
// cygwin x11perf -pointer : 5600 +/- 200 req/sec
|
||||
|
||||
//
|
||||
// Ubuntu 11.04 32bit, Intel(R) Core(TM)2 Duo CPU T7250 @2.00GHz, XOrg 1:7.6+4ubuntu3.1
|
||||
// 0.4.9pre :
|
||||
// x11perf -sync -pointer :
|
||||
// x11perf -pointer :
|
||||
|
||||
var x11 = require('../lib/x11');
|
||||
var X = x11.createClient();
|
||||
|
||||
var total = 50000;
|
||||
var num_qp_resp_left = total;
|
||||
var num_qp_req_left = total;
|
||||
var start = +new Date();
|
||||
var wid;
|
||||
|
||||
function benchmarkQP()
|
||||
{
|
||||
num_qp_req_left--;
|
||||
X.QueryPointer(wid, function(res) {
|
||||
num_qp_resp_left--;
|
||||
if (num_qp_resp_left == 0)
|
||||
{
|
||||
var end = +new Date();
|
||||
var delta = (end - start)/1000
|
||||
console.error( 'Finished ' + total + ' requests in ' + delta + ' sec, ' + total/delta + ' req/sec');
|
||||
X.terminate();
|
||||
}
|
||||
});
|
||||
|
||||
if (num_qp_req_left > 0)
|
||||
process.nextTick(benchmarkQP);
|
||||
}
|
||||
|
||||
X.on('connect', function(display) {
|
||||
var screen = display.screen[0];
|
||||
wid = X.AllocID();
|
||||
X.CreateWindow(wid, screen.root, 10, 10, 400, 300, 1, 1, 0, { backgroundPixel: screen.white_pixel });
|
||||
X.MapWindow(wid);
|
||||
benchmarkQP(wid);
|
||||
});
|
||||
|
||||
X.on('error', function(err) {
|
||||
console.log(err);
|
||||
});
|
||||
48
test/benchmarks/query_pointer_benchmark_sync.js
Normal file
48
test/benchmarks/query_pointer_benchmark_sync.js
Normal file
|
|
@ -0,0 +1,48 @@
|
|||
// test results:
|
||||
|
||||
// WinServ2008R2, Intel(R) Core(TM) i7 CPU 870 @ 2.93GHz + Xming 6.9.0.31
|
||||
//
|
||||
// 0.4.3/cygwin 32bit : 2900 +/- 300 req/sec
|
||||
// 0.5.1/win32 : 5500 +/- 1000 req/sec
|
||||
// cygwin x11perf -sync -pointer : 2800 +/- 200 req/sec
|
||||
// cygwin x11perf -pointer : 5600 +/- 200 req/sec
|
||||
|
||||
//
|
||||
// Ubuntu 11.04 32bit, Intel(R) Core(TM)2 Duo CPU T7250 @2.00GHz, XOrg 1:7.6+4ubuntu3.1
|
||||
// 0.4.9pre :
|
||||
// x11perf -sync -pointer :
|
||||
// x11perf -pointer :
|
||||
|
||||
var x11 = require('../lib/x11');
|
||||
var X = x11.createClient();
|
||||
|
||||
var total = 50000;
|
||||
var num_qp_left = total;
|
||||
var start = +new Date();
|
||||
|
||||
function benchmarkQP(wid)
|
||||
{
|
||||
X.QueryPointer(wid, function(res) {
|
||||
num_qp_left--;
|
||||
if (num_qp_left > 0)
|
||||
benchmarkQP(wid);
|
||||
else {
|
||||
var end = +new Date();
|
||||
var delta = (end - start)/1000
|
||||
console.log( 'Finished ' + total + ' requests in ' + delta + ' sec, ' + total/delta + ' req/sec');
|
||||
X.terminate();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
X.on('connect', function(display) {
|
||||
var screen = display.screen[0];
|
||||
var wid = X.AllocID();
|
||||
X.CreateWindow(wid, screen.root, 10, 10, 400, 300, 1, 1, 0, { backgroundPixel: screen.white_pixel });
|
||||
X.MapWindow(wid);
|
||||
benchmarkQP(wid);
|
||||
});
|
||||
|
||||
X.on('error', function(err) {
|
||||
console.log(err);
|
||||
});
|
||||
Loading…
Reference in a new issue