raspberryGPIOhtmlserver/node_modules/ws/bench/sender.benchmark.js
node_modules/ws/bench/sender.benchmark.jsRaw
1/*!
2 * ws: a node.js websocket client
3 * Copyright(c) 2011 Einar Otto Stangvik <einaros@gmail.com>
4 * MIT Licensed
5 */
6
7/**
8 * Benchmark dependencies.
9 */
10
11var benchmark = require('benchmark')
12 , Sender = require('../').Sender
13 , suite = new benchmark.Suite('Sender');
14require('tinycolor');
15require('./util');
16
17/**
18 * Setup sender.
19 */
20
21suite.on('start', function () {
22 sender = new Sender();
23 sender._socket = { write: function() {} };
24});
25
26suite.on('cycle', function () {
27 sender = new Sender();
28 sender._socket = { write: function() {} };
29});
30
31/**
32 * Benchmarks
33 */
34
35framePacket = new Buffer(200*1024);
36framePacket.fill(99);
37suite.add('frameAndSend, unmasked (200 kB)', function () {
38 sender.frameAndSend(0x2, framePacket, true, false);
39});
40suite.add('frameAndSend, masked (200 kB)', function () {
41 sender.frameAndSend(0x2, framePacket, true, true);
42});
43
44/**
45 * Output progress.
46 */
47
48suite.on('cycle', function (bench, details) {
49 console.log('\n ' + suite.name.grey, details.name.white.bold);
50 console.log(' ' + [
51 details.hz.toFixed(2).cyan + ' ops/sec'.grey
52 , details.count.toString().white + ' times executed'.grey
53 , 'benchmark took '.grey + details.times.elapsed.toString().white + ' sec.'.grey
54 ,
55 ].join(', '.grey));
56});
57
58/**
59 * Run/export benchmarks.
60 */
61
62if (!module.parent) {
63 suite.run();
64} else {
65 module.exports = suite;
66}