| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081 |
- var Benchmark = require('benchmark');
- var parser = require('../index');
- function test(packet, deferred) {
- var encoder = new parser.Encoder();
- var decoder = new parser.Decoder();
- encoder.encode(packet, function(encodedPackets) {
- var decoder = new parser.Decoder();
- decoder.on('decoded', function(packet) {
- deferred.resolve();
- });
- decoder.add(encodedPackets[0]);
- });
- }
- var dataObject = {
- 'a': [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17],
- 'b': 'xxxyyyzzzalsdfalskdjfalksdjfalksdjfalksdjfjjfjfjfjjfjfjfj',
- 'data': {
- 'is': 'cool',
- 'or': {
- 'is': {
- 'it': true
- }
- }
- }
- };
- var bigArray = [];
- for (var i = 0; i < 250; i++) {
- bigArray.push(dataObject);
- }
- module.exports = function(callback) {
- var suite = new Benchmark.Suite();
- suite.add('small json parse', {defer: true, fn: function(deferred) {
- var packet = {
- type: parser.EVENT,
- nsp: '/bench',
- data: dataObject
- };
- test(packet, deferred);
- }})
- .add('big json parse', {defer: true, fn: function(deferred) {
- var packet = {
- type: parser.EVENT,
- nsp: '/bench',
- data: bigArray
- };
- test(packet, deferred);
- }})
- .add('json with small binary parse', {defer: true, fn: function(deferred) {
- var packet = {
- type: parser.EVENT,
- nsp: '/bench',
- data: {'a': [1, 2, 3], 'b': 'xxxyyyzzz', 'data': new Buffer(1000)}
- };
- test(packet, deferred);
- }})
- .add('json with big binary parse', {defer: true, fn: function(deferred) {
- var bigBinaryData = {
- bin1: new Buffer(10000),
- arr: bigArray,
- bin2: new Buffer(10000),
- bin3: new Buffer(10000)
- };
- var packet = {
- type: parser.EVENT,
- nsp: '/bench',
- data: bigBinaryData
- };
- test(packet, deferred);
- }})
- .on('complete', function() {
- callback(this);
- })
- .run({'async': true});
- };
|