Skip to content

Commit

Permalink
fix serializer bench
Browse files Browse the repository at this point in the history
  • Loading branch information
icebob committed Apr 21, 2017
1 parent cf1483a commit 7be7763
Show file tree
Hide file tree
Showing 2 changed files with 24 additions and 9 deletions.
31 changes: 23 additions & 8 deletions benchmark/suites/serializers.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@

const ServiceBroker = require("../../src/service-broker");
const FakeTransporter = require("../../src/transporters/fake");
const Context = require("../../src/context");
const Serializers = require("../../src/serializers");
const P = require("../../src/packets");

Expand Down Expand Up @@ -34,36 +35,50 @@ function runTest(dataName) {
let bench1 = benchmark.createSuite(`Serialize event packet with ${dataName}bytes`);

bench1.ref("JSON", () => {
return new P.PacketEvent(brokerJSON.transit, "user.created", payload);
const packet = new P.PacketEvent(brokerJSON.transit, "user.created", payload);
return packet.serialize();
});

bench1.add("Avro", () => {
return new P.PacketEvent(brokerAvro.transit, "user.created", payload);
const packet = new P.PacketEvent(brokerAvro.transit, "user.created", payload);
return packet.serialize();
});

bench1.add("MsgPack", () => {
return new P.PacketEvent(brokerMsgPack.transit, "user.created", payload);
const packet = new P.PacketEvent(brokerMsgPack.transit, "user.created", payload);
return packet.serialize();
});

let bench2 = benchmark.createSuite(`Serialize request packet with ${dataName}bytes`);

const ctx = new Context();
ctx.id = "dcfef88f-7dbe-4eed-87f1-aba340279f4f";
ctx.action = {
name: "posts.update"
};
ctx.nodeID = "node-2-12345";
ctx.params = payload;

bench2.ref("JSON", () => {
return new P.PacketRequest(brokerJSON.transit, "node-2-12345", "dcfef88f-7dbe-4eed-87f1-aba340279f4f", "post.update", payload);
const packet = new P.PacketRequest(brokerJSON.transit, "node-2-12345", ctx);
return packet.serialize();
});

bench2.add("Avro", () => {
return new P.PacketRequest(brokerAvro.transit, "node-2-12345", "dcfef88f-7dbe-4eed-87f1-aba340279f4f", "post.update", payload);
const packet = new P.PacketRequest(brokerAvro.transit, "node-2-12345", ctx);
return packet.serialize();
});

bench2.add("MsgPack", () => {
return new P.PacketRequest(brokerMsgPack.transit, "node-2-12345", "dcfef88f-7dbe-4eed-87f1-aba340279f4f", "post.update", payload);
const packet = new P.PacketRequest(brokerMsgPack.transit, "node-2-12345", ctx);
return packet.serialize();
});

bench1.run()
return bench1.run()
.then(() => bench2.run())
.then(() => {
if (dataFiles.length > 0)
runTest(dataFiles.shift());
return runTest(dataFiles.shift());
});

}
Expand Down
2 changes: 1 addition & 1 deletion src/serializers/avro.js
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ schemas[P.PACKET_REQUEST] = avro.Type.forSchema({
{ name: "timeout", type: "int" },
{ name: "level", type: "int" },
{ name: "metrics", type: "boolean" },
{ name: "parentID", type: "string" }
{ name: "parentID", type: [ "null", "string"], default: null }
]
});

Expand Down

0 comments on commit 7be7763

Please sign in to comment.