Skip to content

Commit df766c9

Browse files
committed
begin work on benchmarking
1 parent 4b19869 commit df766c9

File tree

1 file changed

+45
-0
lines changed

1 file changed

+45
-0
lines changed

benchmark/index.js

+45
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
var profiler = require('profiler');
2+
var Client = require(__dirname + '/../lib/client');
3+
var buffers = require(__dirname + '/../test/test-buffers');
4+
require(__dirname + '/../test/unit/test-helper');
5+
console.log('');
6+
7+
var stream = new MemoryStream();
8+
stream.readyState = 'open';
9+
var client = new Client({
10+
stream: stream
11+
});
12+
13+
var rowDescription = new buffers.rowDescription([{
14+
name: 'name',
15+
tableID: 1,
16+
attributeNumber: 1,
17+
dataTypeID: 25, //text
18+
typeModifer: 0,
19+
formatCode: 0 //text format
20+
}]);
21+
var row1 = buffers.dataRow(['Brian']);
22+
var row2 = buffers.dataRow(['Bob']);
23+
var row3 = buffers.dataRow(['The amazing power of the everlasting gobstopper']);
24+
var complete = buffers.commandComplete('SELECT 3');
25+
var ready = buffers.readyForQuery();
26+
var buffer = Buffer.concat([rowDescription, row1, row2, row3, complete, ready]);
27+
28+
client.connect(assert.calls(function() {
29+
client.connection.emit('readyForQuery');
30+
31+
var callCount = 0;
32+
var max = 1000;
33+
profiler.resume();
34+
for(var i = 0; i < max; i++) {
35+
//BEGIN BENCH
36+
client.query('SELECT * FROM whatever WHERE this = "doesnt even matter"', function(err, res) {
37+
callCount++;
38+
});
39+
//END BENCH
40+
stream.emit('data', buffer);
41+
}
42+
profiler.pause();
43+
assert.equal(callCount, max);
44+
}));
45+
client.connection.emit('readyForQuery');

0 commit comments

Comments
 (0)