jsPerf.app is an online JavaScript performance benchmark test runner & jsperf.com mirror. It is a complete rewrite in homage to the once excellent jsperf.com now with hopefully a more modern & maintainable codebase.
jsperf.com URLs are mirrored at the same path, e.g:
https://jsperf.com/negative-modulo/2
Can be accessed at:
https://jsperf.app/negative-modulo/2
Adding Vanilla Pub/Sub for reference.
<script src='//cdnjs.cloudflare.com/ajax/libs/jquery/1.8.3/jquery.min.js'></script>
<script src='//underscorejs.org/underscore.js'></script>
<script src='//cdnjs.cloudflare.com/ajax/libs/backbone.js/0.9.2/backbone-min.js'></script>
<script>var oldEvents = Backbone.Events;</script>
<script src='//cdnjs.cloudflare.com/ajax/libs/backbone.js/0.5.3/backbone-min.js'></script>
<script>var olderEvents = Backbone.Events;</script>
<script src='//backbonejs.org/backbone.js'></script>
<script>var masterEvents = Backbone.Events;</script>
<script src='http://knockoutjs.com/downloads/knockout-2.2.0.js'></script>
<script src="https://raw.github.com/phiggins42/bloody-jquery-plugins/55e41df9bf08f42378bb08b93efcb28555b61aeb/pubsub.js"></script>
old = _.extend({}, oldEvents);
older = _.extend({}, olderEvents);
master = _.extend({}, masterEvents);
jquery = $({});
knockout= new ko.subscribable();
vps = _.extend({}, Events);
numEvents = 3;
numListeners = 100;
_.times(numEvents, function(event) {
_.times(numListeners, function() {
older.bind("event" + event, function(){});
old.on("event" + event, function(){});
jquery.on("event" + event, function(){});
master.on("event" + event, function(){});
knockout.subscribe(function(){},null,"event" + event);
vps.subscribe("event" + event, function() {});
});
});
Ready to run.
Test | Ops/sec | |
---|---|---|
jQuery 1.8.3 |
| ready |
Backbone 0.5.3 |
| ready |
Backbone 0.9.2 |
| ready |
Backbone 0.9.9 |
| ready |
Knockout v2.2.0 |
| ready |
Vanilla Pub/Sub |
| ready |
You can edit these tests or add more tests to this page by appending /edit to the URL.