done-token.js 809 B

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. var tedious = require("../../lib/tedious");
  2. var Request = tedious.Request;
  3. var TYPES = tedious.TYPES;
  4. var Parser = require("../../lib/token/token-stream-parser").Parser;
  5. var common = require("../common");
  6. var parser = new Parser({ token: function() { } }, {}, {});
  7. var tokenCount = 500;
  8. var data = Buffer.from(new Array(tokenCount).join("FE0000E0000000000000000000"), "hex");
  9. common.createBenchmark({
  10. name: "parsing `DONEPROC` tokens",
  11. profileIterations: 3000,
  12. setup: function(cb) {
  13. cb();
  14. },
  15. exec: function(cb) {
  16. var count = 0;
  17. parser.on("doneProc", function() {
  18. count += 1;
  19. if (count === tokenCount - 1) {
  20. parser.removeAllListeners("doneProc");
  21. cb();
  22. }
  23. });
  24. parser.addBuffer(data);
  25. },
  26. teardown: function(cb) {
  27. cb();
  28. }
  29. });