clientWidth / clientHeight (destructured and renamed) vs clientWidth / clientHeight (destructured) vs clientWidth / clientHeight (simple property access) vs getBoundingClientRect() (destructured) vs getBoundingClientRect() (simple property access)Fastest: getBoundingClientRect() (destructured) (1.4x faster)
1,017,609 ops/sec
971,482 ops/sec
761,907 ops/sec
753,609 ops/sec
746,136 ops/sec
Fastest: clientWidth / clientHeight (simple property access) (3.3x faster)
9,416,036 ops/sec
9,368,702 ops/sec
9,252,952 ops/sec
3,029,811 ops/sec
2,875,589 ops/sec
Fastest: getBoundingClientRect() (destructured) (1.6x faster)
1,337,111 ops/sec
1,327,784 ops/sec
881,848 ops/sec
879,795 ops/sec
838,400 ops/sec
Fastest: clientWidth / clientHeight (destructured) (1.3x faster)
109,270 ops/sec
106,047 ops/sec
105,351 ops/sec
101,438 ops/sec
86,980 ops/sec
Results show median performance across all community submissions. Run this benchmark yourself to verify on your device.
| Test case name | Result |
|---|---|
| clientWidth / clientHeight (destructured and renamed) | |
| clientWidth / clientHeight (destructured) | |
| clientWidth / clientHeight (simple property access) | |
| getBoundingClientRect() (destructured) | |
| getBoundingClientRect() (simple property access) |
| Test name | Executions per second |
|---|---|
| ✓ clientWidth / clientHeight (destructured) | 16,413,431 Ops/sec |
| clientWidth / clientHeight (destructured and renamed) | 16,269,726 Ops/sec |
| clientWidth / clientHeight (simple property access) | 15,862,736 Ops/sec |
| getBoundingClientRect() (simple property access) | 5,518,160 Ops/sec |
| getBoundingClientRect() (destructured) | 5,456,130 Ops/sec |