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 |
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)