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 = new Map();
    function $(selector) {
        if (cache.has(selector)) {
            return cache.get(selector);
        }
        let cached = document.querySelector(selector);
        cache.set(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 with Map

     
    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 with Map

    Fastest: N/A

    Slowest: N/A

Latest run results:
Run details: (Test run date: 4 years ago)
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.116 Safari/537.36
Chrome 83 on Windows
View result in a separate tab
Test name Executions per second
querySelector 657721.9 Ops/sec
querySelector + cache with Map 5329.6 Ops/sec