Script Preparation code:
AخA
 
object = { value: 'data', getData() {return this.value;} };
Object.defineProperty(object, 'dataProperty', {
  get() { return this.value; }
});
proxy = new Proxy(object, {})
proxyWithHandler = new Proxy(object, {
    get(target, prop, receiver) {
        return Reflect.get(target, prop, receiver)
    }
})
Tests:
  • Object access

     
    object.value;
  • Proxy access

     
    proxy.value
  • Proxy with get handler access

     
    proxyWithHandler.value
  • Use of simple getter

     
    object.getData();
  • Use of defineProperty

     
    object.dataProperty;
Rendered benchmark preparation results:

Suite status: <idle, ready to run>

Previous results

Experimental features:

  • Test case name Result
    Object access
    Proxy access
    Proxy with get handler access
    Use of simple getter
    Use of defineProperty

    Fastest: N/A

    Slowest: N/A

Latest run results:
Run details: (Test run date: 24 days ago)
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.3.1 Safari/605.1.15
Safari 18 on Mac OS X 10.15.7
View result in a separate tab
Test name Executions per second
Object access 374240800.0 Ops/sec
Proxy access 168965392.0 Ops/sec
Proxy with get handler access 28102984.0 Ops/sec
Use of simple getter 365375712.0 Ops/sec
Use of defineProperty 418255744.0 Ops/sec