Script Preparation code:
x
 
class BaseClass {
    constructor() {}
}
class Point extends BaseClass {
    constructor(x, y) {
        super();
        this.x = x;
        this.y = y;
    }
    add(point) {
        return new Point(this.x + point.x, this.y + point.y);
    }
    sub(point) {
        return new Point(this.x - point.x, this.y - point.y);
    }
}
var Point1 = Point;
function BaseConstructor() {
}
function Point2(x, y) {
    this.x = x;
    this.y = y;
}
Point2.prototype.add = function(point) {
    return new Point2(this.x + point.x, this.y + point.y);
}
Point2.prototype.sub = function(point) {
    return new Point2(this.x - point.x, this.y - point.y);
}
Object.setPrototypeOf(Object.setPrototypeOf(Point2, BaseConstructor).prototype, BaseConstructor.prototype);
function Point3(x, y) {
    return Object.setPrototypeOf({
        x,
        y,
        add: (point) => Point3(this.x + point.x, this.y + point.y),
        sub: (point) => Point3(this.x - point.x, this.y - point.y)
    }, BaseConstructor.prototype);
}
Tests:
  • ES6 Class

     
    var p1 = new Point1(10, 10);
    var p2 = new Point1(10, -10);
    var sum = p1.add(p2);
    var dif = p1.sub(p2);
  • Function Prototype

     
    var p1 = new Point2(10, 10);
    var p2 = new Point2(10, -10);
    var sum = p1.add(p2);
    var dif = p1.sub(p2);
  • Object Literal

     
    var p1 = Point3(10, 10);
    var p2 = Point3(10, -10);
    var sum = p1.add(p2);
    var dif = p1.sub(p2);
Rendered benchmark preparation results:

Suite status: <idle, ready to run>

Previous results

Experimental features:

  • Test case name Result
    ES6 Class
    Function Prototype
    Object Literal

    Fastest: N/A

    Slowest: N/A

Latest run results:
Run details: (Test run date: 2 months ago)
Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/132.0.0.0 Safari/537.36
Chrome 132 on Linux
View result in a separate tab
Test name Executions per second
ES6 Class 32088148.0 Ops/sec
Function Prototype 51813656.0 Ops/sec
Object Literal 405987.8 Ops/sec