Tests:
  • closures

    x
     
    function createClosure(one, two) {
        let result = null;
      
        return {
          compute() {
            result = one * two * one * two;
          },
          
          printResult() {
            console.log(result)
          }
        }
    }
    const amt = 200;
    let contents = new Array(amt);
    for (let i = 0; i < amt; i ++) {
        contents[i] = createClosure(Math.random(), Math.random());  
        contents[i].compute();
        contents[i].printResult();
    }
  • classes

     
    class MyClass {
        result = null;
      
        constructor(one, two) {
            this.one = one;
            this.two = two;
        }
      
        compute() {
            this.result = this.one * this.two * this.one * this.two;
        }
        printResult() {
            console.log(this.result);
        }
    }
    const amt = 200;
    let contents = new Array(amt);
    for (let i = 0; i < amt; i ++) {
        contents[i] = new MyClass(Math.random(), Math.random());  
        contents[i].compute();
        contents[i].printResult();
    }
Rendered benchmark preparation results:

Suite status: <idle, ready to run>

Previous results

Experimental features:

  • Test case name Result
    closures
    classes

    Fastest: N/A

    Slowest: N/A

Latest run results:
Run details: (Test run date: 2 days ago)
Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Mobile Safari/537.36
Chrome Mobile 136 on Android
View result in a separate tab
Test name Executions per second
closures 339.2 Ops/sec
classes 219.7 Ops/sec