$if vs raw opal conditinal (v2)

Revision 2 of this benchmark created on


Setup

var nil = {_isNil: true}
    Boolean.prototype._isBoolean = true
    var $if = function(obj) {
      obj !== nil && (obj != false && obj._isBoolean)
    }

Test runner

Ready to run.

Testing in
TestOps/sec
raw / nil
var obj = nil
obj !== nil && (obj != false && obj._isBoolean)
ready
raw / false
var obj = false
obj !== nil && (obj != false && obj._isBoolean)
ready
$if / nil
var obj = nil
$if(obj)
ready
$if / false
var obj = false
$if(obj)
ready
$if / Boolean(false)
var obj = new Boolean(false)
$if(obj)
ready
raw / Boolean(false)
var obj = new Boolean(false)
obj !== nil && (obj._isBoolean && obj != false)
ready
raw / true
var obj = true
obj !== nil && (obj != false && typeof(obj.valueOf()) === "boolean")
ready

Revisions

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