HTML Preparation code:
AخA
 
1
<div id="el">
2
  <h2>Lorem ipsum dolor sit amet</h2>
3
</div>
Script Preparation code:
 
var el = document.getElementById("el");
Tests:
  • clientWidth / clientHeight (destructured and renamed)

    x
     
    const { clientWidth: width, clientHeight: height } = el;
    const perim = (width + height) * 2;
  • clientWidth / clientHeight (destructured)

     
    const { clientWidth, clientHeight } = el;
    const perim = (clientWidth + clientHeight) * 2;
  • clientWidth / clientHeight (simple property access)

     
    const width = el.clientWidth;
    const height = el.clientHeight;
    const perim = (width + height) * 2;
  • getBoundingClientRect() (destructured)

     
    const { width, height } = el.getBoundingClientRect();
    const perim = (width + height) * 2;
  • getBoundingClientRect() (simple property access)

     
    const rect = el.getBoundingClientRect();
    const width = rect.width;
    const height = rect.height;
    const perim = (width + height) * 2;
  • getComputedStyle

     
    const { height, width } = getComputedStyle(el);
    const perim = (width + height) * 2;
Rendered benchmark preparation results:

Suite status: <idle, ready to run>

Previous results

Experimental features:

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

    Fastest: N/A

    Slowest: N/A

Latest run results:
Run details: (Test run date: 21 days ago)
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/134.0.0.0 Safari/537.36 Edg/134.0.0.0
Chrome 134 on Mac OS X 10.15.7
View result in a separate tab
Test name Executions per second
clientWidth / clientHeight (destructured and renamed) 1782714.9 Ops/sec
clientWidth / clientHeight (destructured) 1775377.6 Ops/sec
clientWidth / clientHeight (simple property access) 1790556.4 Ops/sec
getBoundingClientRect() (destructured) 2379475.2 Ops/sec
getBoundingClientRect() (simple property access) 2412465.0 Ops/sec
getComputedStyle 875991.0 Ops/sec