64 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			64 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
// 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();
 | 
						|
});
 |