52 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
		
		
			
		
	
	
			52 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| 
								 | 
							
								// 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');
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								var xclient = x11.createClient();
							 | 
						||
| 
								 | 
							
								var counter = 0;
							 | 
						||
| 
								 | 
							
								var t = +new Date();
							 | 
						||
| 
								 | 
							
								var t0 = t;
							 | 
						||
| 
								 | 
							
								var num = 100000;
							 | 
						||
| 
								 | 
							
								xclient.on('connect', function(err, 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() ?
							 | 
						||
| 
								 | 
							
								           }
							 | 
						||
| 
								 | 
							
								       });
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								});
							 |