333
schangxiang@126.com
2025-09-19 18966e02fb573c7e2bb0c6426ed792b38b910940
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
var tedious = require("../../lib/tedious");
var Request = tedious.Request;
var TYPES = tedious.TYPES;
 
var Parser = require("../../lib/token/token-stream-parser").Parser;
 
var common = require("../common");
 
var parser = new Parser({ token: function() { } }, {}, {});
 
var tokenCount = 50;
var data = Buffer.from(new Array(tokenCount).join("810300000000001000380269006400000000000900e7c8000904d00034046e0061006d006500000000000900e7ffff0904d000340b6400650073006300720069007000740069006f006e00"), "hex");
 
common.createBenchmark({
  name: "parsing `COLMETADATA` tokens",
 
  profileIterations: 3000,
 
  setup: function(cb) {
    cb();
  },
 
  exec: function(cb) {
    var count = 0;
 
    parser.on("columnMetadata", function() {
      count += 1;
 
      if (count === tokenCount - 1) {
        parser.removeAllListeners("columnMetadata");
 
        cb();
      }
    });
 
    parser.addBuffer(data);
  },
 
  teardown: function(cb) {
    cb();
  }
});