Postal.js Highlights

Benchmark created by Jim Cowart on


Preparation HTML

<script type="text/javascript" src="http://cdnjs.cloudflare.com/ajax/libs/lodash.js/2.4.1/lodash.min.js"></script>

<script type="text/javascript" src="https://rawgit.com/ifandelse/ConduitJS/master/lib/conduit.js"></script>

<script type="text/javascript" src="https://rawgit.com/postaljs/postal.js/master/lib/postal.js"></script>

Setup

var channelOne = postal.channel("one");
    var channelTwo = postal.channel("two");
    var subs = [];
    for(var i = 0; i < 10; i++) {
        subs.push(channelTwo.subscribe("some.topic", function() {}));
    }
    var channelThree = postal.channel("three");
    for(i = 0; i < 10; i++) {
        subs.push(channelThree.subscribe("some.*", function() {}));
    }
    var channelFour = postal.channel("four");
    for(i = 0; i < 10; i++) {
        subs.push(channelFour.subscribe("#", function() {}));
    }

Teardown


    while(subs.length) {
        subs.pop().unsubscribe();
    }
  

Test runner

Ready to run.

Testing in
TestOps/sec
Publishing (bare)
channelOne.publish("some.topic", { foo: 'bar' });
ready
Publishing (no wildcard)
channelTwo.publish("some.topic", { foo: 'bar' });
ready
Publishing (* wildcard)
channelThree.publish("some.topic", { foo: 'bar' });
ready
Publishing (# wildcard)
channelFour.publish("some.topic", { foo: 'bar' });
ready

Revisions

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

  • Revision 1: published by Jim Cowart on