@@ -7,8 +7,9 @@ var memwatch = require('memwatch');
77var async = require ( 'async' ) ;
88
99// 1 - 23,305ms
10+ // 5 - 9,338ms
1011// 10 - 8,846ms
11- var concurrency = 10 ;
12+ var concurrency = 5 ;
1213
1314//var dbServerName = '192.168.13.190';
1415//var dbPort = 1433;
@@ -38,7 +39,7 @@ setTimeout(function() {
3839 java . findClassSync ( dbConnectionClass ) ;
3940
4041 var loopIterations = [ ] ;
41- for ( var i = 0 ; i < 5000 ; i ++ ) {
42+ for ( var i = 0 ; i < 5000 ; i ++ ) {
4243 loopIterations . push ( i ) ;
4344 }
4445
@@ -69,8 +70,6 @@ setTimeout(function() {
6970
7071function doLoop ( callback ) {
7172 var conn ;
72- var columnCount ;
73- var rs ;
7473
7574 return DriverManager . getConnection ( dbConnectString , dbUserId , dbPassword , getConnectionComplete ) ;
7675
@@ -81,18 +80,28 @@ function doLoop(callback) {
8180 conn = _conn ;
8281
8382 //console.log("connected");
84- var statement = conn . createStatementSync ( ) ;
8583 var queryString = "select * from Person" ;
86- return statement . executeQuery ( queryString , executeQueryComplete ) ;
84+ return executeQuery ( conn , queryString , function ( row , callback ) {
85+ //console.log("row", row);
86+ return callback ( ) ;
87+ } , function ( err ) {
88+ if ( err ) {
89+ return callback ( err ) ;
90+ }
91+ //console.log("query complete");
92+ return callback ( ) ;
93+ } ) ;
8794 }
95+ }
8896
89- function executeQueryComplete ( err , _rs ) {
97+ function executeQuery ( conn , sql , rowCallback , completeCallback ) {
98+ var statement = conn . createStatementSync ( ) ;
99+ return statement . executeQuery ( sql , function ( err , rs ) {
90100 if ( err ) {
91- return callback ( err ) ;
101+ return completeCallback ( err ) ;
92102 }
93- rs = _rs ;
94103
95- columnCount = rs . getMetaDataSync ( ) . getColumnCountSync ( ) ;
104+ var columnCount = rs . getMetaDataSync ( ) . getColumnCountSync ( ) ;
96105
97106 var rsComplete = false ;
98107 async . until (
@@ -106,36 +115,19 @@ function doLoop(callback) {
106115 rsComplete = true ;
107116 return callback ( ) ;
108117 }
109- return printRow ( callback ) ;
118+ var row = [ ] ;
119+ for ( var i = 1 ; i <= columnCount ; i ++ ) {
120+ row . push ( rs . getObjectSync ( i ) ) ;
121+ }
122+ return rowCallback ( row , callback ) ;
110123 } ) ;
111124 } ,
112125 function ( err ) {
113126 if ( err ) {
114- return callback ( err ) ;
127+ return completeCallback ( err ) ;
115128 }
116- return conn . close ( callback ) ;
129+ return conn . close ( completeCallback ) ;
117130 }
118131 ) ;
119- }
120-
121- function printRow ( callback ) {
122- for ( var i = 1 ; i <= columnCount ; i ++ ) {
123- var obj = rs . getObjectSync ( i ) ;
124- if ( obj ) {
125- if ( obj . hasOwnProperty ( 'getClassSync' ) ) {
126- if ( obj . getClassSync ( ) . toString ( ) == 'class java.math.BigDecimal' ) {
127- //console.log(obj.doubleValueSync());
128- continue ;
129- }
130- if ( obj . getClassSync ( ) . toString ( ) == 'class java.sql.Timestamp' ) {
131- //console.log(obj.getTimeSync());
132- continue ;
133- }
134- //console.log("class:", obj.getClassSync().toString());
135- }
136- //console.log(obj);
137- }
138- }
139- return callback ( ) ;
140- }
132+ } ) ;
141133}
0 commit comments