Amplify vs Postal Comparison - subscribe and publish (v13)

Revision 13 of this benchmark created by Victor Genin on


Preparation HTML

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js">
</script>
<script src="http://cdnjs.cloudflare.com/ajax/libs/underscore.js/1.6.0/underscore-min.js">
</script>
<script src="http://cdnjs.cloudflare.com/ajax/libs/postal.js/0.10.1/postal.min.js">
</script>
<script src="http://cdnjs.cloudflare.com/ajax/libs/amplifyjs/1.1.0/amplify.min.js">
</script>

Setup

var channel = postal.channel({
      topic: "topic.1"
    });

Test runner

Ready to run.

Testing in
TestOps/sec
postal.js - via channel
var subA = channel.subscribe(function(x) {
  console.log(x);
});
channel.publish("Hai, postal channel!");
subA.unsubscribe();
ready
postal.js - via channel + wildcard
var subE = channel.subscribe("topic.*", function(x) {
  console.log(x);
});
channel.publish("Hai, postal channel wildcard!");
subE.unsubscribe();
ready
postal.js - via global API
var subB = postal.subscribe({
  topic: "topic.1",
  callback: function(x) {
    console.log(x);
  }
});
postal.publish({
  topic: "topic.1",
  data: "Hai, postal publish!"
});
subB.unsubscribe();
ready
postal.js - via global API + wilcard
var subD = postal.subscribe({
  topic: "topic.*",
  callback: function(x) {
    console.log(x);
  }
});
postal.publish({
  topic: "topic.1",
  data: "Hai, postal publish wildcard!"
});
subD.unsubscribe();
ready
amplify.js
var fn = function(x) {
  console.log(x);
};
var subC = amplify.subscribe("topic.1", fn);
amplify.publish("topic.1", "Hai, amplify!");
amplify.unsubscribe(fn);
ready

Revisions

You can edit these tests or add more tests to this page by appending /edit to the URL.