Run details:
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.1.1 Safari/605.1.15
Safari 18
Mac OS X 10.15.7
Desktop
one year ago
Direct Object Property
110K/s
Property direct on Proxy
85K/s
Object.defineProperty
65K/s
Object.assign (mutable)
59K/s
Object.defineProperty with getter and setter
45K/s
Object.defineProperties (plural) with getter and setter
36K/s
Object.defineProperty on Proxy
25K/s
Object.defineProperty on Proxy with getter and setter
22K/s
Object.assign (immutable)
5K/s
View exact numbers
Test name Executions per second
Direct Object Property 109,516 Ops/sec
Property direct on Proxy 85,356 Ops/sec
Object.defineProperty 64,634 Ops/sec
Object.assign (mutable) 58,918 Ops/sec
Object.defineProperty with getter and setter 44,973 Ops/sec
Object.defineProperties (plural) with getter and setter 35,764 Ops/sec
Object.defineProperty on Proxy 25,035 Ops/sec
Object.defineProperty on Proxy with getter and setter 21,940 Ops/sec
Object.assign (immutable) 5,015 Ops/sec
Script Preparation code:
Tests: