HTML Preparation code:
x
 
1
<!DOCTYPE html>
2
<html lang="en">
3
<head>
4
    <meta charset="UTF-8">
5
    <title>Title</title>
6
</head>
7
<body>
8
<h1 class="about-shop">Hello azula</h1>
9
</body>
10
</html>
11
Script Preparation code:
 
const cache = {};
    function $(selector) {
        if (cache[selector] !== undefined) {
            console.count("cached");
            return cache[selector];
        }
        const cached = document.querySelector(selector);
        cache[selector] = cached;
        return cached
    };
Tests:
  • querySelector

     
    const selector1 = document.querySelector(".about-shop");
    const selector2 = document.querySelector(".about-shop");
    const selector3 = document.querySelector(".about-shop");
  • querySelector + cache

     
    const selector1 = $(".about-shop");
    const selector2 = $(".about-shop");
    const selector3 = $(".about-shop");
Rendered benchmark preparation results:

Suite status: <idle, ready to run>

Previous results

Experimental features:

  • Test case name Result
    querySelector
    querySelector + cache

    Fastest: N/A

    Slowest: N/A

Latest run results:
Run details: (Test run date: 23 days ago)
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/134.0.0.0 Safari/537.36
Chrome 134 on Windows
View result in a separate tab
Test name Executions per second
querySelector 4996746.5 Ops/sec
querySelector + cache 90174.0 Ops/sec