Bang Bang Conversion

Benchmark created by Phil on


Description

Compare speed of using !! rather than without it

Setup

var truthy = {
      "null": null,
      "true value": true,
      "false value": false,
      "true string": "true",
      "false string": "false",
      "-2": -2,
      "-1": -1,
      "0": 0,
      "1": 1,
      "2": 2,
      "-2 string": "-2",
      "-1 string": "-1",
      "0 string": "0",
      "1 string": "1",
      "2 string": "2",
      "empty string": "",
      "non-empty string": "test string",
      "function": function() {},
      "object": {},
      "array": [],
      "empty string as object": new String(""),
      "non-empty string as object": new String("some string"),
      "0 as number object": new Number(0),
      "1 as number object": new Number(1),
      "2 as number object": new Number(2),
      "-1 as number object": new Number(-1),
      "true as boolean object": new Boolean(true),
      "false as boolean object": new Boolean(false)
    }

Test runner

Ready to run.

Testing in
TestOps/sec
Without !!
var result;
for (var key in truthy) {
  result = (truthy[key] == true);
}
ready
Using !!
var result;
for (var key in truthy) {
  result = ( !!truthy[key] == true);
}
ready

Revisions

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