JSFiddle - React, Tailwind, and code Playground

by ifandelse

HTML

<script src="https://rawgithub.com/jashkenas/underscore/master/underscore-min.js"></script>
<script src="https://rawgithub.com/postaljs/postal.js/master/lib/postal.js"></script>

JavaScript

function writeResults(title, start, end) {
    $("body").append("<div>Test: " + title + "</div>");
    $("body").append("<div>Start: " + start + "</div>");
    $("body").append("<div>Start: " + end + "</div>");
    $("body").append("<div>Time: " + (end - start) + "</div>");
    $("body").append("<hr />");
}

var channel = postal.channel("zeChannel");
var st = new Date();
var sub = channel.subscribe("ze.topic.yah",function(d, e) {});
channel.publish("ze.topic.yah", "hai");
var idx = 0;
var st = new Date();
while(idx < 1000000) {
  idx += 1;
  channel.publish("ze.topic.yah", "hai");
}
writeResults("Plain Matching", st, new Date());
postal.utils.reset();

sub = channel.subscribe("ze.*.yah",function(d, e) {});
channel.publish("ze.topic.yah", "hai");
idx = 0;
start = new Date();
while(idx < 1000000) {
  idx += 1;
  channel.publish("ze.topic.yah", "hai");
}
writeResults("Matching with *", st, new Date());

postal.utils.reset();

sub = channel.subscribe("ze.#",function(d, e) {});
channel.publish("ze.topic.yah", "hai");
idx = 0;
start = new Date();
while(idx < 1000000) {
  idx += 1;
  channel.publish("ze.topic.yah", "hai");
}
writeResults("Matching with #", st, new Date());