getElementsByTagName vs getElementsByClassName vs getElementsByName vs querySelectorAll (v23)

Revision 23 of this benchmark created by Philip Sorokin on


Preparation HTML

<img name="img" class="img" src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" alt="" width="1" height="1"/>
<img name="img" class="img" src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" alt="" width="1" height="1"/>
<img name="img" class="img" src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" alt="" width="1" height="1"/>
<img name="img" class="img" src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" alt="" width="1" height="1"/>
<img name="img" class="img" src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" alt="" width="1" height="1"/>
<img name="img" class="img" src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" alt="" width="1" height="1"/>
<img name="img" class="img" src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" alt="" width="1" height="1"/>
<img name="img" class="img" src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" alt="" width="1" height="1"/>
<img name="img" class="img" src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" alt="" width="1" height="1"/>
<img name="img" class="img" src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" alt="" width="1" height="1"/>

Test runner

Ready to run.

Testing in
TestOps/sec
getElementsByTagName
var x = document.getElementsByTagName("img");
ready
getElementsByClassName
var y = document.getElementsByClassName("img");
ready
getElementsByName
var z = document.getElementsByName("img");
ready
document.images
var a = document.images;
ready
querySelectorAll (tagname)
var b = document.querySelectorAll("img");
ready
querySelectorAll (classname)
var c = document.querySelectorAll(".img");
ready
querySelectorAll (name)
var d = document.querySelectorAll("[name='img']");
ready

Revisions

You can edit these tests or add more tests to this page by appending /edit to the URL.