HTML Preparation code:
Script Preparation code:
Tests:

Historical Performance Data aggregated from 119 community runs

Desktop Results:
Chrome 96 runs
getBoundingClientRect() (destructured)
1.0M/s
getBoundingClientRect() (simple property access)
971K/s
clientWidth / clientHeight (destructured and renamed)
762K/s
clientWidth / clientHeight (destructured)
754K/s
clientWidth / clientHeight (simple property access)
746K/s

Fastest: getBoundingClientRect() (destructured) (1.4x faster)

View exact numbers
  • getBoundingClientRect() (destructured): 1,017,609 ops/sec
  • getBoundingClientRect() (simple property access): 971,482 ops/sec
  • clientWidth / clientHeight (destructured and renamed): 761,907 ops/sec
  • clientWidth / clientHeight (destructured): 753,609 ops/sec
  • clientWidth / clientHeight (simple property access): 746,136 ops/sec
Firefox 12 runs
clientWidth / clientHeight (simple property access)
9.4M/s
clientWidth / clientHeight (destructured)
9.4M/s
clientWidth / clientHeight (destructured and renamed)
9.3M/s
getBoundingClientRect() (destructured)
3.0M/s
getBoundingClientRect() (simple property access)
2.9M/s

Fastest: clientWidth / clientHeight (simple property access) (3.3x faster)

View exact numbers
  • clientWidth / clientHeight (simple property access): 9,416,036 ops/sec
  • clientWidth / clientHeight (destructured): 9,368,702 ops/sec
  • clientWidth / clientHeight (destructured and renamed): 9,252,952 ops/sec
  • getBoundingClientRect() (destructured): 3,029,811 ops/sec
  • getBoundingClientRect() (simple property access): 2,875,589 ops/sec
Other 6 runs
getBoundingClientRect() (destructured)
1.3M/s
getBoundingClientRect() (simple property access)
1.3M/s
clientWidth / clientHeight (simple property access)
882K/s
clientWidth / clientHeight (destructured)
880K/s
clientWidth / clientHeight (destructured and renamed)
838K/s

Fastest: getBoundingClientRect() (destructured) (1.6x faster)

View exact numbers
  • getBoundingClientRect() (destructured): 1,337,111 ops/sec
  • getBoundingClientRect() (simple property access): 1,327,784 ops/sec
  • clientWidth / clientHeight (simple property access): 881,848 ops/sec
  • clientWidth / clientHeight (destructured): 879,795 ops/sec
  • clientWidth / clientHeight (destructured and renamed): 838,400 ops/sec
Mobile Results:
Chrome 5 runs
clientWidth / clientHeight (destructured)
109K/s
getBoundingClientRect() (destructured)
106K/s
getBoundingClientRect() (simple property access)
105K/s
clientWidth / clientHeight (destructured and renamed)
101K/s
clientWidth / clientHeight (simple property access)
87K/s

Fastest: clientWidth / clientHeight (destructured) (1.3x faster)

View exact numbers
  • clientWidth / clientHeight (destructured): 109,270 ops/sec
  • getBoundingClientRect() (destructured): 106,047 ops/sec
  • getBoundingClientRect() (simple property access): 105,351 ops/sec
  • clientWidth / clientHeight (destructured and renamed): 101,438 ops/sec
  • clientWidth / clientHeight (simple property access): 86,980 ops/sec

Results show median performance across all community submissions. Run this benchmark yourself to verify on your device.

Rendered benchmark preparation results:

Suite status: <idle, ready to run>

Previous results
  • Test case name Result
    clientWidth / clientHeight (destructured and renamed)
    clientWidth / clientHeight (destructured)
    clientWidth / clientHeight (simple property access)
    getBoundingClientRect() (destructured)
    getBoundingClientRect() (simple property access)

    Fastest: N/A

    Slowest: N/A

Latest run results:
Run details: (Test run date: 4 months ago)
Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:140.0) Gecko/20100101 Firefox/140.0
Firefox 140 on Windows
View result in a separate tab
clientWidth / clientHeight (destructured)
16.4M/s
clientWidth / clientHeight (destructured and renamed)
16.3M/s
clientWidth / clientHeight (simple property access)
15.9M/s
getBoundingClientRect() (simple property access)
5.5M/s
getBoundingClientRect() (destructured)
5.5M/s
View exact numbers
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