Toggle navigation
MeasureThat.net
Create a benchmark
Tools
Feedback
FAQ
Register
Log In
Run results for:
Getter / Setter vs Proxy vs Class getter aleynikovsa
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/122.0.0.0 Safari/537.36
Browser:
Chrome 122
Operating system:
Mac OS X 10.15.7
Device Platform:
Desktop
Date tested:
2 years ago
Test name
Executions per second
setter getter4214214
354271.5 Ops/sec
proxy321312
361911.8 Ops/sec
class getter setter4124124
4100785.2 Ops/sec
my own test243124124
5866442.0 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(); class Data4 { _test; getTest() { return this._test; } setTest(value) { this._test = value; } } data4 = new Data4();
Tests:
setter getter4214214
data2.test = Math.random(); console.log(data2.test);
proxy321312
proxy.test = Math.random(); console.log(proxy.test);
class getter setter4124124
data3.test = Math.random() data3test = data3.test
my own test243124124
data4.setTest(Math.random()) data4.getTest()