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
138K/s
Object.defineProperty
70K/s
Object.assign (mutable)
64K/s
Property direct on Proxy
56K/s
Object.defineProperty with getter and setter
51K/s
Object.defineProperty on Proxy
50K/s
Object.defineProperty on Proxy with getter and setter
41K/s
Object.defineProperties (plural) with getter and setter
39K/s
Object.assign (immutable)
5K/s
View exact numbers
| Test name |
Executions per second |
|
✓
Direct Object Property
|
137,501 Ops/sec |
|
Object.defineProperty
|
69,697 Ops/sec |
|
Object.assign (mutable)
|
63,578 Ops/sec |
|
Property direct on Proxy
|
55,575 Ops/sec |
|
Object.defineProperty with getter and setter
|
51,338 Ops/sec |
|
Object.defineProperty on Proxy
|
49,542 Ops/sec |
|
Object.defineProperty on Proxy with getter and setter
|
40,974 Ops/sec |
|
Object.defineProperties (plural) with getter and setter
|
38,620 Ops/sec |
|
Object.assign (immutable)
|
5,075 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)