<div class="m"></div>
<div data-m></div><div class="m"></div>
<div data-m></div><div class="m"></div>
<div data-m></div><div class="m"></div>
<div data-m></div><div class="m"></div>
<div data-m></div><div class="m"></div>
<div data-m></div><div class="m"></div>
<div data-m></div><div class="m"></div>
<div data-m></div><div class="m"></div>
<div data-m></div><div class="m"></div>
<div data-m></div><div class="m"></div>
<div data-m></div><div class="m"></div>
<div data-m></div><div class="m"></div>
<div data-m></div><div class="m"></div>
<div data-m></div><div class="m"></div>
<div data-m></div><div class="m"></div>
<div data-m></div><div class="m"></div>
<div data-m></div><div class="m"></div>
<div data-m></div><div class="m"></div>
<div data-m></div><div class="m"></div>
<div data-m></div><div class="m"></div>
<div data-m></div><div class="m"></div>
<div data-m></div><div class="m"></div>
<div data-m></div><div class="m"></div>
<div data-m></div><div class="m"></div>
<div data-m></div><div class="m"></div>
<div data-m></div><div class="m"></div>
<div data-m></div><div class="m"></div>
<div data-m></div><div class="m"></div>
<div data-m></div><div class="m"></div>
<div data-m></div><div class="m"></div>
<div data-m></div><div class="m"></div>
<div data-m></div><div class="m"></div>
<div data-m></div><div class="m"></div>
<div data-m></div><div class="m"></div>
<div data-m></div><div class="m"></div>
<div data-m></div><div class="m"></div>
<div data-m></div><div class="m"></div>
<div data-m></div><div class="m"></div>
<div data-m></div><div class="m"></div>
<div data-m></div><div class="m"></div>
<div data-m></div><div class="m"></div>
<div data-m></div><div class="m"></div>
<div data-m></div><div class="m"></div>
<div data-m></div><div class="m"></div>
<div data-m></div><div class="m"></div>
<div data-m></div><div class="m"></div>
<div data-m></div><div class="m"></div>
<div data-m></div><div class="m"></div>
<div data-m></div><div class="m"></div>
<div data-m></div><div class="m"></div>
<div data-m></div><div class="m"></div>
<div data-m></div><div class="m"></div>
<div data-m></div><div class="m"></div>
<div data-m></div><div class="m"></div>
<div data-m></div><div class="m"></div>
<div data-m></div><div class="m"></div>
<div data-m></div><div class="m"></div>
<div data-m></div><div class="m"></div>
<div data-m></div><div class="m"></div>
<div data-m></div><div class="m"></div>
<div data-m></div><div class="m"></div>
<div data-m></div><div class="m"></div>
<div data-m></div><div class="m"></div>
<div data-m></div><div class="m"></div>
<div data-m></div><div class="m"></div>
<div data-m></div><div class="m"></div>
<div data-m></div><div class="m"></div>
<div data-m></div><div class="m"></div>
<div data-m></div><div class="m"></div>
<div data-m></div><div class="m"></div>
<div data-m></div><div class="m"></div>
<div data-m></div><div class="m"></div>
<div data-m></div><div class="m"></div>
<div data-m></div><div class="m"></div>
<div data-m></div><div class="m"></div>
<div data-m></div><div class="m"></div>
<div data-m></div><div class="m"></div>
<div data-m></div><div class="m"></div>
<div data-m></div><div class="m"></div>
<div data-m></div><div class="m"></div>
<div data-m></div><div class="m"></div>
<div data-m></div><div class="m"></div>
<div data-m></div><div class="m"></div>
<div data-m></div><div class="m"></div>
<div data-m></div><div class="m"></div>
<div data-m></div><div class="m"></div>
<div data-m></div><div class="m"></div>
<div data-m></div><div class="m"></div>
<div data-m></div><div class="m"></div>
<div data-m></div><div class="m"></div>
<div data-m></div><div class="m"></div>
<div data-m></div><div class="m"></div>
<div data-m></div>
<script src='https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.js'></script>
$('m')
$('[data-m]')
--enable-precise-memory-info
flag.
Test case name | Result |
---|---|
Class | |
Attribute |
Test name | Executions per second |
---|---|
Class | 4114847.8 Ops/sec |
Attribute | 561770.5 Ops/sec |
Let's break down the provided benchmark definition and explain what is being tested.
Benchmark Definition
The benchmark definition consists of two test cases: "Class" and "Attribute". Both test cases use JavaScript to query DOM elements.
Test Cases
$('m')
to select all elements with the class m
. This is a classic example of an element selector in jQuery.$('[data-m]')
to select all elements that have an attribute data-m
. This is an attribute selector in jQuery.Library and Purpose
Both test cases use jQuery, which is a popular JavaScript library for DOM manipulation and event handling. In this context, jQuery provides a convenient way to query the DOM using CSS-like selectors.
What is being tested?
The benchmark tests two different ways of querying the DOM:
$('m')
) to select all elements with the class m
. This involves searching the DOM for elements that match the specified class.$('[data-m]')
) to select all elements that have an attribute data-m
. This involves searching the DOM for elements that have a specific attribute.Benchmark Results
The latest benchmark results show two different execution rates:
These results suggest that element selectors are generally faster than attribute selectors in jQuery.
Implications
This benchmark highlights an important difference between element selectors and attribute selectors in jQuery: