pubsub.js vs jQuery events

JavaScript performance comparison

Revision 7 of this test case created by Jack


pubsub.js tend to be the richest in functionality publish/subscribe JavaScript library.

pubsub.js library

Preparation code

<script src="//"></script>
<script src=""></script>
<script src=""></script>
  var callback1 = function(event) {
    return false;
  var callback2 = function() {};
  var payload = {
   somekey: 'some value'
  var body;
  var someJqueryObject = $({});
  var pb = new datibbaw.PubSub();
  // let's use jQuery.ready to make sure that the DOM is ready,
  // before trying to work with it
  jQuery(function() {
   // we'll use the body element to exchange messages for jQuery
   // if using deeper nested elements, jQuery will be slower, as custom events bubble
   body = $('body');
   // subscribe our callback1 function to the custom event for jQuery, only once
   body.bind('my-event', callback1);
   // subscribe our callback1 function to the custom event for the plain jQuery object (non-DOM)
   someJqueryObject.bind('my-event', callback1);
   // subscribe our callback2 function to the message for PubSub
   pubsub.subscribe('my-event', callback2)
pb.on('my-event', callback2);
   // Use document instead of 'body' as the anchor for custom events
   doc = $(document)

Preparation code output

Test runner

Warning! For accurate results, please disable Firebug before running the tests. (Why?)

Java applet disabled.

Testing in unknown unknown
Test Ops/sec
jQuery DOM - trigger
body.trigger('my-event', payload);
jQuery Object - trigger
someJqueryObject.trigger('my-event', payload);
pubsub.js - publish
pubsub.publish('my-event', payload);
jQuery document - trigger
doc.trigger('my-event', payload);
datibbaw - pubsub
pb.trigger('my-event', payload);

Compare results of other browsers


You can edit these tests or add even more tests to this page by appending /edit to the URL. Here’s a list of current revisions for this page:

1 comment

Wojciech Dłubacz commented :

somebody has not read pubsub.js documentation (publish's 2nd argument)...

Add a comment