diff --git a/js/x11/core/examples/smoketest/benchmarks/atom_benchmark_parallel.js b/js/x11/core/examples/smoketest/benchmarks/atom_benchmark_parallel.js new file mode 100644 index 0000000..710ed9b --- /dev/null +++ b/js/x11/core/examples/smoketest/benchmarks/atom_benchmark_parallel.js @@ -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'); + +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(err, display) { + X = this; + X.t1 = +new Date(); + benchmarkAtoms(); +});