Sha256: 939708ab9219542630cd3a95635736f5c7a54ac4055d4ac3fe613913fc27cb11

Contents?: true

Size: 1.75 KB

Versions: 18

Compression:

Stored size: 1.75 KB

Contents

/**
 * Module dependencies.
 */

var benchmark = require('benchmark')
  , colors = require('colors')
  , io = require('../')
  , parser = io.parser
  , suite = new benchmark.Suite('Decode packet');

suite.add('string', function () {
  parser.decodePacket('4:::"2"');
});

suite.add('event', function () {
  parser.decodePacket('5:::{"name":"woot"}');
});

suite.add('event+ack', function () {
  parser.decodePacket('5:1+::{"name":"tobi"}');
});

suite.add('event+data', function () {
  parser.decodePacket('5:::{"name":"edwald","args":[{"a": "b"},2,"3"]}');
});

suite.add('heartbeat', function () {
  parser.decodePacket('2:::');
});

suite.add('error', function () {
  parser.decodePacket('7:::2+0');
});

var payload = parser.encodePayload([
    parser.encodePacket({ type: 'message', data: '5', endpoint: '' })
  , parser.encodePacket({ type: 'message', data: '53d', endpoint: '' })
  , parser.encodePacket({ type: 'message', data: 'foobar', endpoint: '' })
  , parser.encodePacket({ type: 'message', data: 'foobarbaz', endpoint: '' })
  , parser.encodePacket({ type: 'message', data: 'foobarbazfoobarbaz', endpoint: '' })
  , parser.encodePacket({ type: 'message', data: 'foobarbaz', endpoint: '' })
  , parser.encodePacket({ type: 'message', data: 'foobar', endpoint: '' })
]);

suite.add('payload', function () {
  parser.decodePayload(payload);
});

suite.on('cycle', function (bench, details) {
  console.log('\n' + suite.name.grey, details.name.white.bold);
  console.log([
      details.hz.toFixed(2).cyan + ' ops/sec'.grey
    , details.count.toString().white + ' times executed'.grey
    , 'benchmark took '.grey + details.times.elapsed.toString().white + ' sec.'.grey
    , 
  ].join(', '.grey));
});

if (!module.parent) {
  suite.run();
} else {
  module.exports = suite;
}

Version data entries

18 entries across 18 versions & 3 rubygems

Version Path
hooch-0.4.2 jasmine/node_modules/karma/node_modules/socket.io/benchmarks/decode.bench.js
hooch-0.4.1 jasmine/node_modules/karma/node_modules/socket.io/benchmarks/decode.bench.js
hooch-0.4.0 jasmine/node_modules/karma/node_modules/socket.io/benchmarks/decode.bench.js
hooch-0.3.0 jasmine/node_modules/karma/node_modules/socket.io/benchmarks/decode.bench.js
hooch-0.2.1 jasmine/node_modules/karma/node_modules/socket.io/benchmarks/decode.bench.js
hooch-0.2.0 jasmine/node_modules/karma/node_modules/socket.io/benchmarks/decode.bench.js
hooch-0.1.0 jasmine/node_modules/karma/node_modules/socket.io/benchmarks/decode.bench.js
hooch-0.0.8 jasmine/node_modules/karma/node_modules/socket.io/benchmarks/decode.bench.js
hooch-0.0.7 jasmine/node_modules/karma/node_modules/socket.io/benchmarks/decode.bench.js
hooch-0.0.6 jasmine/node_modules/karma/node_modules/socket.io/benchmarks/decode.bench.js
entangled-0.0.16 spec/dummy/public/node_modules/karma/node_modules/socket.io/benchmarks/decode.bench.js
entangled-0.0.15 spec/dummy/public/node_modules/karma/node_modules/socket.io/benchmarks/decode.bench.js
entangled-0.0.14 spec/dummy/public/node_modules/karma/node_modules/socket.io/benchmarks/decode.bench.js
entangled-0.0.13 spec/dummy/public/node_modules/karma/node_modules/socket.io/benchmarks/decode.bench.js
entangled-0.0.12 spec/dummy/public/node_modules/karma/node_modules/socket.io/benchmarks/decode.bench.js
entangled-0.0.11 spec/dummy/public/node_modules/karma/node_modules/socket.io/benchmarks/decode.bench.js
entangled-0.0.10 spec/dummy/public/node_modules/karma/node_modules/socket.io/benchmarks/decode.bench.js
iron_worker_ng-0.10.1 iron_worker_examples/binary/phantom-nodejs/node_modules/phantom/node_modules/dnode/node_modules/socket.io/benchmarks/decode.bench.js