1234567213 (v7)

Revision 7 of this benchmark created by Esailija on


Description

Single identifier named listener

Preparation HTML

<script>
var global = window;
var require = function(val) {
    if( val == "util") {
        return {
            isNumber: function( arg ) {
                 return typeof arg === 'number';
            },
            isUndefined: function( arg ) {
                return arg === void 0;
            },
            isFunction: function( arg ) {
                return typeof arg === "function";
            },
            isObject: function( arg ) {
                return typeof arg === 'object' && arg !== null;
            }
        }
    }
};
var module = {};
</script>
<script type="text/javascript" src="https://rawgithub.com/joyent/node/master/lib/events.js">
</script>
<script>
var NodeEmitter = module.exports;
</script>
<script type="text/javascript" src="https://rawgithub.com/petkaantonov/FastEmitter/master/fastemitter.js">
</script>
<script>
var FastEmitter = module.exports;

var a = new FastEmitter();
var b = new NodeEmitter();
if( !Array.isArray(a._events ) ) alert("modules are not loaded correctly");
if( !b._events ) alert("modules are not loaded correctly");
</script>

Setup

var sum = 0;
    var nodeEmitter = new NodeEmitter();
    var fastEmitter = new FastEmitter();
    var adder = function() {
        sum++;
    };
    nodeEmitter.on("event", adder);
    fastEmitter.on("event", adder);

Teardown


    if( sum === 0 ) {
         throw new Error("not working");
    }
  

Test runner

Ready to run.

Testing in
TestOps/sec
node emitter
nodeEmitter.emit("event");
ready
fast emitter
fastEmitter.emit("event");
ready

Revisions

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

  • Revision 7: published by Esailija on
  • Revision 8: published by Esailija on