Script Preparation code:
x
 
var a = "Here's a string value";
var b = 5; // and a number
var c = false;
var object = {
  a, b, c
}
var array = [
  a, b, c
];
var passObject = (obj) => {
  return obj.a.length + obj.b * obj.c ? 2 : 1;
}
var passRawValues = (val_a, val_b, val_c) => {
  return val_a.length + val_b * val_c ? 2 : 1;
}
var passArray = (arr) => {
  return arr[0].length + arr[1] * arr[2] ? 2 : 1;
}
var x = 0;
Tests:
  • Pass object

     
    x << 1;
    x ^= passObject(object);
  • Pass raw values

     
    x << 1;
    x ^= passRawValues(a, b, c);
  • Pass array

     
    x << 1;
    x ^= passArray(array);
  • Pass obj2

     
    x << 1;
    x ^= passObject({
    a:a,
    b:b,
    c:c});
Rendered benchmark preparation results:

Suite status: <idle, ready to run>

Previous results

Experimental features:

  • Test case name Result
    Pass object
    Pass raw values
    Pass array
    Pass obj2

    Fastest: N/A

    Slowest: N/A

Latest run results:
Run details: (Test run date: one year ago)
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/115.0.0.0 Safari/537.36
Chrome 115 on Mac OS X 10.15.7
View result in a separate tab
Test name Executions per second
Pass object 4847758.0 Ops/sec
Pass raw values 4811689.5 Ops/sec
Pass array 6479064.0 Ops/sec
Pass obj2 4715729.5 Ops/sec