events-perfs (v7)

Revision 7 of this benchmark created on


Preparation HTML

<script src='http://documentcloud.github.com/underscore/underscore.js'></script>
<script src='http://documentcloud.github.com/backbone/backbone-min.js'></script>
<script src='http://a.tbcdn.cn/s/kissy/1.2.0/kissy-min.js'></script>
<script src='http://code.jquery.com/jquery-1.7.2.min.js'></script>
<script src='https://a.alipayobjects.com/seajs/1.3.1/sea.js'></script>
<script src='https://a.alipayobjects.com/arale/events/1.0.0/events.js'></script>
<script>
seajs.use('arale/events/1.0.0/events', function(events) {
  seajs.Events = events;
});
</script>

Setup

bb = _.extend({}, Backbone.Events);
            ks = _.extend({}, KISSY.Event.Target);
            jq = $({});
            ar = new seajs.Events();
    
            function f(){
              return Math.random();
            }
            
            function g(){
              return Math.random();
            }

Test runner

Ready to run.

Testing in
TestOps/sec
arale
ar.on('x', f).on('x', g);
ar.trigger('x');
ar.trigger('x', 'foo', 'bar');
ar.off('x', f).off('x', g);
ready
kissy
ks.on('x', f).on('x', g);
ks.fire('x');
ks.fire('x', { 'foo': 'foo', 'bar': 'bar' });
ks.detach('x', f).detach('x', g);
ready
jquery
jq.on('x', f).on('x', g);
jq.trigger('x');
jq.trigger('x', ['foo', 'bar']);
jq.off('x', f).off('x', g);
ready
backbone
bb.on('x', f).on('x', g);
bb.trigger('x');
bb.trigger('x', 'foo', 'bar');
bb.off('x', f).off('x', g);
ready

Revisions

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