aboutsummaryrefslogtreecommitdiffstats
path: root/signaling-server/node_modules/socket.io/node_modules/redis/benches/stress/speed
diff options
context:
space:
mode:
Diffstat (limited to 'signaling-server/node_modules/socket.io/node_modules/redis/benches/stress/speed')
-rw-r--r--signaling-server/node_modules/socket.io/node_modules/redis/benches/stress/speed/0013
-rwxr-xr-xsignaling-server/node_modules/socket.io/node_modules/redis/benches/stress/speed/plot13
-rw-r--r--signaling-server/node_modules/socket.io/node_modules/redis/benches/stress/speed/size-rate.pngbin0 -> 6672 bytes
-rw-r--r--signaling-server/node_modules/socket.io/node_modules/redis/benches/stress/speed/speed.js84
4 files changed, 110 insertions, 0 deletions
diff --git a/signaling-server/node_modules/socket.io/node_modules/redis/benches/stress/speed/00 b/signaling-server/node_modules/socket.io/node_modules/redis/benches/stress/speed/00
new file mode 100644
index 0000000..29d7bf7
--- /dev/null
+++ b/signaling-server/node_modules/socket.io/node_modules/redis/benches/stress/speed/00
@@ -0,0 +1,13 @@
+# size JSON msgpack bison
+26602 2151.0170848180414
+25542 ? 2842.589272665782
+24835 ? ? 7280.4538397469805
+6104 6985.234528557929
+5045 ? 7217.461392841478
+4341 ? ? 14261.406335354604
+4180 15864.633685636572
+4143 ? 12954.806235781925
+4141 ? ? 44650.70733912719
+75 114227.07313350472
+40 ? 30162.440062810834
+39 ? ? 119815.66013519121
diff --git a/signaling-server/node_modules/socket.io/node_modules/redis/benches/stress/speed/plot b/signaling-server/node_modules/socket.io/node_modules/redis/benches/stress/speed/plot
new file mode 100755
index 0000000..2563797
--- /dev/null
+++ b/signaling-server/node_modules/socket.io/node_modules/redis/benches/stress/speed/plot
@@ -0,0 +1,13 @@
+#!/bin/sh
+
+gnuplot >size-rate.jpg << _EOF_
+
+set terminal png nocrop enhanced font verdana 12 size 640,480
+set logscale x
+set logscale y
+set grid
+set xlabel 'Serialized object size, octets'
+set ylabel 'decode(encode(obj)) rate, 1/sec'
+plot '00' using 1:2 title 'json' smooth bezier, '00' using 1:3 title 'msgpack' smooth bezier, '00' using 1:4 title 'bison' smooth bezier
+
+_EOF_
diff --git a/signaling-server/node_modules/socket.io/node_modules/redis/benches/stress/speed/size-rate.png b/signaling-server/node_modules/socket.io/node_modules/redis/benches/stress/speed/size-rate.png
new file mode 100644
index 0000000..c9c2bee
--- /dev/null
+++ b/signaling-server/node_modules/socket.io/node_modules/redis/benches/stress/speed/size-rate.png
Binary files differ
diff --git a/signaling-server/node_modules/socket.io/node_modules/redis/benches/stress/speed/speed.js b/signaling-server/node_modules/socket.io/node_modules/redis/benches/stress/speed/speed.js
new file mode 100644
index 0000000..8e43cbc
--- /dev/null
+++ b/signaling-server/node_modules/socket.io/node_modules/redis/benches/stress/speed/speed.js
@@ -0,0 +1,84 @@
+var msgpack = require('node-msgpack');
+var bison = require('bison');
+var codec = {
+ JSON: {
+ encode: JSON.stringify,
+ decode: JSON.parse
+ },
+ msgpack: {
+ encode: msgpack.pack,
+ decode: msgpack.unpack
+ },
+ bison: bison
+};
+
+var obj, l;
+
+var s = '0';
+for (var i = 0; i < 12; ++i) s += s;
+
+obj = {
+ foo: s,
+ arrrrrr: [{a:1,b:false,c:null,d:1.0}, 1111, 2222, 33333333],
+ rand: [],
+ a: s,
+ ccc: s,
+ b: s + s + s
+};
+for (i = 0; i < 100; ++i) obj.rand.push(Math.random());
+forObj(obj);
+
+obj = {
+ foo: s,
+ arrrrrr: [{a:1,b:false,c:null,d:1.0}, 1111, 2222, 33333333],
+ rand: []
+};
+for (i = 0; i < 100; ++i) obj.rand.push(Math.random());
+forObj(obj);
+
+obj = {
+ foo: s,
+ arrrrrr: [{a:1,b:false,c:null,d:1.0}, 1111, 2222, 33333333],
+ rand: []
+};
+forObj(obj);
+
+obj = {
+ arrrrrr: [{a:1,b:false,c:null,d:1.0}, 1111, 2222, 33333333],
+ rand: []
+};
+forObj(obj);
+
+function run(obj, codec) {
+ var t1 = Date.now();
+ var n = 10000;
+ for (var i = 0; i < n; ++i) {
+ codec.decode(l = codec.encode(obj));
+ }
+ var t2 = Date.now();
+ //console.log('DONE', n*1000/(t2-t1), 'codecs/sec, length=', l.length);
+ return [n*1000/(t2-t1), l.length];
+}
+
+function series(obj, cname, n) {
+ var rate = 0;
+ var len = 0;
+ for (var i = 0; i < n; ++i) {
+ var r = run(obj, codec[cname]);
+ rate += r[0];
+ len += r[1];
+ }
+ rate /= n;
+ len /= n;
+ console.log(cname + ' ' + rate + ' ' + len);
+ return [rate, len];
+}
+
+function forObj(obj) {
+ var r = {
+ JSON: series(obj, 'JSON', 20),
+ msgpack: series(obj, 'msgpack', 20),
+ bison: series(obj, 'bison', 20)
+ };
+ return r;
+}