Toggle navigation
MeasureThat.net
Create a benchmark
Tools
Feedback
FAQ
Register
Log In
Run results for:
class vs function composition
Go to the benchmark
Embed
Embed Benchmark Result
Run details:
User agent:
Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/125.0.0.0 Safari/537.36
Browser:
Chrome 125
Operating system:
Linux
Device Platform:
Desktop
Date tested:
one year ago
Test name
Executions per second
class
49702.9 Ops/sec
function
84216.2 Ops/sec
Tests:
class
class A { a() { return { a: 1 }; } a1() { return { a: 1 }; } a2() { return { a: 1 }; } a3() { return { a: 1 }; } a4() { return { a: 1 }; } a5() { return { a: 1 }; } } class B { constructor(a) { this.a = new A(); } a() { return this.a.a(); } a1() { return this.a.a1(); } a2() { return this.a.a2(); } } class C { constructor(a) { this.a = new A(); } a3() { return this.a.a3(); } a4() { return this.a.a4(); } a5() { return this.a.a5(); } } // var a = new A(); var b = new B(); var c = new C(); console.log('class', b.a.a === c.a.a);
function
ar = () => ({ a() { return { a: 1 }; } }) ar1 = () => ({ a1() { return { a: 1 }; } }) ar2 = () => ({ a2() { return { a: 1 }; } }) ar3 = () => ({ a3() { return { a: 1 }; } }) ar4 = () => ({ a4() { return { a: 1 }; } }) ar5 = () => ({ a5() { return { a: 1 }; } }) function B1() { return Object.assign({}, ar(), ar1(), ar2()); } function C1() { return Object.assign({}, ar(), ar4(), ar5()); } var b = B1(); var c = C1(); console.log('function', b.a === c.a);