Toggle navigation
MeasureThat
.net
Create a benchmark
Tools
Feedback
Feature Requests
FAQ
Register
Log In
Run results for:
Getter / Setter vs Proxy vs Class getter
Go to the benchmark
Embed
Embed Benchmark Result
Run details:
User agent:
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/150.0.0.0 Safari/537.36
Browser:
Chrome 150
Operating system:
Mac OS X 10.15.7
Device Platform:
Desktop
Date tested:
2 months ago
Benchmark engine:
Benchmark.js
class getter setter
75.2M/s
proxy
495K/s
setter getter
485K/s
View exact numbers
Test name
Executions per second
✓
class getter setter
75,191,000 Ops/sec
proxy
494,769 Ops/sec
setter getter
485,254 Ops/sec
Script Preparation code:
data1 = {}; handler = { get: (target, prop) => (target[prop]), set: (target, prop, value) => (target[prop] = value), }; proxy = new Proxy(data1, handler); data2 = { get test() { return this._test; }, set test(value) { return this._test = value; } }; class Data3 { _test; get test() { return this._test; } set test(value) { this._test = value; } } data3 = new Data3();
Tests:
setter getter
data2.test = Math.random(); console.log(data2.test);
proxy
proxy.test = Math.random(); console.log(proxy.test);
class getter setter
data3.test = Math.random()