HTML Preparation code:
AخA
 
1
<form id="testform">
2
  <input value="test" />
3
  <input value="testing" />
4
</form>
5
<div id="testdiv">
6
  <input class="unique" name="unique" data-unique="1" value="test" />
7
  <input class="unique" name="unique" data-unique="1" value="testing" />
8
  <!-- added following divs to try and knock getElementsByClassName and getElementsByName out of the running-->
9
  <div class="test1" name="test1">
10
    <div class="test6" name="test6">&nbsp;</div>
11
  </div>
12
  <div class="test2" name="test2">
13
    <div class="test7" name="test7">&nbsp;</div>
14
  </div>
15
  <div class="test3" name="test3">
16
    <div class="test8" name="test8">&nbsp;</div>
17
  </div>
18
  <div class="test4" name="test4">
19
    <div class="test9" name="test9">&nbsp;</div>
20
  </div>
21
  <div class="test5" name="test5">
22
    <div class="test1" name="test1">&nbsp;</div>
23
  </div>
24
</div>
Script Preparation code:
 
var i, imax;
var doc = document;
Tests:
  • form.elements

     
    var formelem = doc.getElementById('testform').elements;
    for (i = 0, imax = formelem.length; i < imax; i += 1)
    {
      var elemvalue = formelem[i].value;
    }
  • getElementsByTagName

     
    var formelem = doc.getElementById('testdiv').getElementsByTagName('input');
    for (i = 0, imax = formelem.length; i < imax; i += 1)
    {
      var elemvalue = formelem[i].value;
    }
  • querySelectorAll

     
    var formelem = doc.getElementById('testdiv').querySelectorAll('[data-unique]');
    for (i = 0, imax = formelem.length; i < imax; i += 1)
    {
      var elemvalue = formelem[i].value;
    }
  • getElementsByClassName

     
    var formelem = doc.getElementById('testdiv').getElementsByClassName('unique');
    for (i = 0, imax = formelem.length; i < imax; i += 1)
    {
      var elemvalue = formelem[i].value;
    }
  • getElementsByName

     
    var formelem = doc.getElementsByName('unique');
    for (i = 0, imax = formelem.length; i < imax; i += 1)
    {
      var elemvalue = formelem[i].value;
    }
Rendered benchmark preparation results:

Suite status: <idle, ready to run>

Previous results

Experimental features:

  • Test case name Result
    form.elements
    getElementsByTagName
    querySelectorAll
    getElementsByClassName
    getElementsByName

    Fastest: N/A

    Slowest: N/A

Latest run results:
Run details: (Test run date: 13 days ago)
Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:136.0) Gecko/20100101 Firefox/136.0
Firefox 136 on Windows
View result in a separate tab
Test name Executions per second
form.elements 3097062.2 Ops/sec
getElementsByTagName 2617286.2 Ops/sec
querySelectorAll 779798.8 Ops/sec
getElementsByClassName 1930128.5 Ops/sec
getElementsByName 2524947.2 Ops/sec