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