Run details:
Mozilla/5.0 (X11; Linux x86_64; rv:128.0) Gecko/20100101 Firefox/128.0
Firefox 128
Linux
Desktop
one year ago
Test name Executions per second
Object.defineProperty 104011.0 Ops/sec
Object.assign (immutable) 10906.1 Ops/sec
Object.assign (mutable) 53555.7 Ops/sec
Object.defineProperty on Proxy 24288.1 Ops/sec
Property direct on Proxy 33122.6 Ops/sec
Direct Object Property 135294.9 Ops/sec
Object.defineProperty with getter and setter 25764.9 Ops/sec
Object.defineProperties (plural) with getter and setter 12452.9 Ops/sec
Object.defineProperty on Proxy with getter and setter 12577.8 Ops/sec
Object.assign on Proxy (mutable) 18008.1 Ops/sec
Script Preparation code:
Tests:
  • Object.defineProperty

  • Object.assign (immutable)

  • Object.assign (mutable)

  • Object.defineProperty on Proxy

  • Property direct on Proxy

  • Direct Object Property

  • Object.defineProperty with getter and setter

  • Object.defineProperties (plural) with getter and setter

  • Object.defineProperty on Proxy with getter and setter

  • Object.assign on Proxy (mutable)