Toggle navigation
MeasureThat.net
Create a benchmark
Tools
Feedback
FAQ
Register
Log In
Run results for:
SVG parsing
fastest way to inject svg in HTML code
Go to the benchmark
Embed
Embed Benchmark Result
Run details:
User agent:
Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/132.0.0.0 Safari/537.36
Browser:
Chrome 132
Operating system:
Linux
Device Platform:
Desktop
Date tested:
one year ago
Test name
Executions per second
innerHTML
59.0 Ops/sec
DOMParser in loop
27.4 Ops/sec
DOMParser + cloneNode
132.3 Ops/sec
HTML Preparation code:
<div id="target"></div>
Script Preparation code:
window.sampleSVG = '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 58 58"><path fill="#26b99a" d="M29 58L3 45V13l26 13z"/><path fill="#556080" d="M29 58l26-13V13L29 26z"/><path fill="#434c6d" d="M3 13L28 0l27 13-26 13z"/></svg>' window.targetNode = document.getElementById("target")
Tests:
innerHTML
let i = 1000 do { window.targetNode.innerHTML = window.sampleSVG window.targetNode.children; window.targetNode.firstChild.remove() } while(--i)
DOMParser in loop
let i = 1000 do { let parser = new DOMParser let svgNode = parser.parseFromString(window.sampleSVG, "image/svg+xml").firstChild window.targetNode.appendChild(svgNode) window.targetNode.children; window.targetNode.firstChild.remove() } while(--i)
DOMParser + cloneNode
let parser = new DOMParser let svgNode = parser.parseFromString(window.sampleSVG, "image/svg+xml").firstChild let i = 1000 do { window.targetNode.appendChild(svgNode.cloneNode(true)) window.targetNode.children; window.targetNode.firstChild.remove() } while(--i)