Skip to content

Instantly share code, notes, and snippets.

@prettydiff
Created July 11, 2017 15:53
Show Gist options
  • Select an option

  • Save prettydiff/ae7713b7b1db5878d60ecd1f827e091d to your computer and use it in GitHub Desktop.

Select an option

Save prettydiff/ae7713b7b1db5878d60ecd1f827e091d to your computer and use it in GitHub Desktop.

Revisions

  1. prettydiff created this gist Jul 11, 2017.
    13 changes: 13 additions & 0 deletions index.html
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,13 @@
    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="utf-8"/>
    <title>dom walking versus querySelector - 2</title>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/benchmark/1.0.0/benchmark.min.js"></script>
    <script src="./suite.js"></script>
    </head>
    <body>
    <h1>Open the console to view the results</h1>
    <h2><code>cmd + alt + j</code> or <code>ctrl + alt + j</code></h2>
    </body>
    </html>
    41 changes: 41 additions & 0 deletions suite.js
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,41 @@
    "use strict";

    (function (factory) {
    if (typeof Benchmark !== "undefined") {
    factory(Benchmark);
    } else {
    factory(require("benchmark"));
    }
    })(function (Benchmark) {
    var suite = new Benchmark.Suite;



    suite.add("document.getElementById(\"canvas\").getElementsByClassName(\"input\")", function () {
    document.getElementById("canvas").getElementsByClassName("input")
    });

    suite.add("document.querySelectorAll(\"#canvas .input\")", function () {
    document.querySelectorAll("#canvas .input")
    });

    suite.on("cycle", function (evt) {
    console.log(" - " + evt.target);
    });

    suite.on("complete", function (evt) {
    console.log(new Array(30).join("-"));

    var results = evt.currentTarget.sort(function (a, b) {
    return b.hz - a.hz;
    });

    results.forEach(function (item) {
    console.log((idx + 1) + ". " + item);
    });
    });

    console.log("dom walking versus querySelector - 2");
    console.log(new Array(30).join("-"));
    suite.run();
    });