Run details:
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.5 Safari/605.1.15
Safari 17
Mac OS X 10.15.7
Desktop
one year ago
Direct Object Property
151K/s
Object.defineProperty
86K/s
Object.assign (mutable)
72K/s
Object.defineProperty on Proxy
65K/s
Property direct on Proxy
62K/s
Object.defineProperty with getter and setter
58K/s
Object.defineProperty on Proxy with getter and setter
49K/s
Object.defineProperties (plural) with getter and setter
44K/s
Object.assign (immutable)
6K/s
View exact numbers
Test name Executions per second
Direct Object Property 151,222 Ops/sec
Object.defineProperty 86,319 Ops/sec
Object.assign (mutable) 71,963 Ops/sec
Object.defineProperty on Proxy 65,291 Ops/sec
Property direct on Proxy 62,255 Ops/sec
Object.defineProperty with getter and setter 58,086 Ops/sec
Object.defineProperty on Proxy with getter and setter 48,608 Ops/sec
Object.defineProperties (plural) with getter and setter 44,291 Ops/sec
Object.assign (immutable) 6,037 Ops/sec
Script Preparation code:
Tests: