Toggle navigation
MeasureThat.net
Create a benchmark
Tools
Feedback
FAQ
Register
Log In
Run results for:
parsing html f324r
Go to the benchmark
Embed
Embed Benchmark Result
Run details:
User agent:
Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/133.0.0.0 Mobile Safari/537.36
Browser:
Chrome Mobile 133
Operating system:
Android
Device Platform:
Mobile
Date tested:
one year ago
Test name
Executions per second
DOMParser
5388.4 Ops/sec
write
2261.2 Ops/sec
setHTMLUnsafe
2826.6 Ops/sec
innerHTML
5934.8 Ops/sec
createHTMLDocument
4269.0 Ops/sec
createRange
2874.6 Ops/sec
template
2856.7 Ops/sec
parseHTMLUnsafe
2312.1 Ops/sec
HTML Preparation code:
<!--your preparation HTML code goes here-->
Script Preparation code:
const doc = document.createDocumentFragment() const parser = new DOMParser let temp let div let range let html = `<div>${'<button>hii</button>'.repeat(200)}</div>` function go(parseMode) { switch (parseMode) { case 'DOMParser': var element = document.adoptNode(parser.parseFromString(html, 'text/html').body.firstElementChild) break case 'write': { let doc = document.implementation.createHTMLDocument() doc.write(html) var element = document.adoptNode(doc.body.firstElementChild) } break case 'setHTMLUnsafe': { temp ??= document.createElement('template') temp.setHTMLUnsafe(html) var element = document.adoptNode(temp.content.firstElementChild) } break case 'innerHTML': { div ??= document.createElement('div') div.innerHTML = html var element = div.removeChild(div.firstElementChild) } break case 'createHTMLDocument': { let n = document.implementation.createHTMLDocument() n.body.innerHTML = html var element = document.adoptNode(n.body.firstElementChild) } break case 'createRange': var element = document.adoptNode((range ??= document.createRange()).createContextualFragment(html).firstElementChild) break case 'template': { temp ??= document.createElement('template') temp.innerHTML = html var element = document.adoptNode(temp.content.firstElementChild) } break case 'parseHTMLUnsafe': var element = document.adoptNode(Document.parseHTMLUnsafe(html).body.firstElementChild) break } return element }
Tests:
DOMParser
go('DOMParser')
write
go('write')
setHTMLUnsafe
go('setHTMLUnsafe')
innerHTML
go('innerHTML')
createHTMLDocument
go('createHTMLDocument')
createRange
go('createRange')
template
go('template')
parseHTMLUnsafe
go('parseHTMLUnsafe')