Toggle navigation
MeasureThat.net
Create a benchmark
Tools
Feedback
FAQ
Register
Log In
Run results for:
deep querySelector vs js iteration vs firstChild
Go to the benchmark
Embed
Embed Benchmark Result
Run details:
User agent:
Mozilla/5.0 (Android 14; Mobile; rv:135.0) Gecko/135.0 Firefox/135.0
Browser:
Firefox Mobile 135
Operating system:
Android
Device Platform:
Mobile
Date tested:
one year ago
Test name
Executions per second
querySelector deep
63933.3 Ops/sec
while children
29525.3 Ops/sec
while firstChild
51301.2 Ops/sec
Script Preparation code:
var levels = [document.createElement("audio"), document.createElement("span")]; levels[1].appendChild(levels[0]); function getClone(depth) { while (depth > levels.length) { var span = document.createElement("span");//todo assumes that span is the simplest element for the browser to initiate. span.appendChild(levels[levels.length - 1]); levels.push(span); } return levels[depth - 1].cloneNode(true); } getClone(100);
Tests:
querySelector deep
var top = getClone(10); var audio = top.querySelector("audio");
while children
var top = getClone(10); var audio = top; while(audio.children[0]) audio = audio.children[0];
while firstChild
var top = getClone(10); var audio = top; while(audio.firstChild) audio = audio.firstChild