annotate node_modules/socket.io/benchmarks/decode.bench.js @ 75:3a2845e3156e

added martin tweaks
author Rob Canning <rc@kiben.net>
date Tue, 01 Jul 2014 08:51:53 +0000
parents 333afcfd3f3a
children
rev   line source
rc-web@69 1
rc-web@69 2 /**
rc-web@69 3 * Module dependencies.
rc-web@69 4 */
rc-web@69 5
rc-web@69 6 var benchmark = require('benchmark')
rc-web@69 7 , colors = require('colors')
rc-web@69 8 , io = require('../')
rc-web@69 9 , parser = io.parser
rc-web@69 10 , suite = new benchmark.Suite('Decode packet');
rc-web@69 11
rc-web@69 12 suite.add('string', function () {
rc-web@69 13 parser.decodePacket('4:::"2"');
rc-web@69 14 });
rc-web@69 15
rc-web@69 16 suite.add('event', function () {
rc-web@69 17 parser.decodePacket('5:::{"name":"woot"}');
rc-web@69 18 });
rc-web@69 19
rc-web@69 20 suite.add('event+ack', function () {
rc-web@69 21 parser.decodePacket('5:1+::{"name":"tobi"}');
rc-web@69 22 });
rc-web@69 23
rc-web@69 24 suite.add('event+data', function () {
rc-web@69 25 parser.decodePacket('5:::{"name":"edwald","args":[{"a": "b"},2,"3"]}');
rc-web@69 26 });
rc-web@69 27
rc-web@69 28 suite.add('heartbeat', function () {
rc-web@69 29 parser.decodePacket('2:::');
rc-web@69 30 });
rc-web@69 31
rc-web@69 32 suite.add('error', function () {
rc-web@69 33 parser.decodePacket('7:::2+0');
rc-web@69 34 });
rc-web@69 35
rc-web@69 36 var payload = parser.encodePayload([
rc-web@69 37 parser.encodePacket({ type: 'message', data: '5', endpoint: '' })
rc-web@69 38 , parser.encodePacket({ type: 'message', data: '53d', endpoint: '' })
rc-web@69 39 , parser.encodePacket({ type: 'message', data: 'foobar', endpoint: '' })
rc-web@69 40 , parser.encodePacket({ type: 'message', data: 'foobarbaz', endpoint: '' })
rc-web@69 41 , parser.encodePacket({ type: 'message', data: 'foobarbazfoobarbaz', endpoint: '' })
rc-web@69 42 , parser.encodePacket({ type: 'message', data: 'foobarbaz', endpoint: '' })
rc-web@69 43 , parser.encodePacket({ type: 'message', data: 'foobar', endpoint: '' })
rc-web@69 44 ]);
rc-web@69 45
rc-web@69 46 suite.add('payload', function () {
rc-web@69 47 parser.decodePayload(payload);
rc-web@69 48 });
rc-web@69 49
rc-web@69 50 suite.on('cycle', function (bench, details) {
rc-web@69 51 console.log('\n' + suite.name.grey, details.name.white.bold);
rc-web@69 52 console.log([
rc-web@69 53 details.hz.toFixed(2).cyan + ' ops/sec'.grey
rc-web@69 54 , details.count.toString().white + ' times executed'.grey
rc-web@69 55 , 'benchmark took '.grey + details.times.elapsed.toString().white + ' sec.'.grey
rc-web@69 56 ,
rc-web@69 57 ].join(', '.grey));
rc-web@69 58 });
rc-web@69 59
rc-web@69 60 if (!module.parent) {
rc-web@69 61 suite.run();
rc-web@69 62 } else {
rc-web@69 63 module.exports = suite;
rc-web@69 64 }