Toggle navigation
MeasureThat.net
Create a benchmark
Tools
Feedback
FAQ
Register
Log In
ES6 Class vs Prototype vs Object Literal extends Date
(version: 1)
Test the speed and memory usage using 3 different techniques for constructing class objects.
Comparing performance of:
ES6 Class vs Function Prototype vs Object Literal
Created:
8 months ago
by:
Guest
Jump to the latest result
Script Preparation code:
class Point extends Date{ 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 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); } function Point3(x, y) { return { x, y, add: (point) => Point3(this.x + point.x, this.y + point.y), sub: (point) => Point3(this.x - point.x, this.y - point.y) } }
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>
Run tests (3)
Previous results
Fork
Test case name
Result
ES6 Class
Function Prototype
Object Literal
Fastest:
N/A
Slowest:
N/A
Latest run results:
Run details:
(Test run date:
8 months ago
)
User agent:
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/139.0.0.0 Safari/537.36
Browser/OS:
Chrome 139 on Mac OS X 10.15.7
View result in a separate tab
Embed
Embed Benchmark Result
Test name
Executions per second
ES6 Class
2446498.2 Ops/sec
Function Prototype
98971352.0 Ops/sec
Object Literal
1132970.4 Ops/sec
Related benchmarks:
ES6 Class vs Prototype vs Object Literal v2
Instantiation via ES6 Class vs Prototype vs Object Literal
ES6 Class vs Prototype vs Object Literal 2
ES6 Class vs Prototype vs Object Literal 3
ES6 Class vs Prototype vs Object Literal v2 with Extends
ES6 Class vs Prototype vs Object Literal vs ES6 Class Extends
ES6 Class vs Prototype vs Object Literal v2 with Extends v2
ES6 Class vs Prototype vs Object Literal v2 with Extends v3
ES6 Class vs Prototype vs Object Literal vs Functional v2
Comments
Confirm delete:
Do you really want to delete benchmark?