Toggle navigation
MeasureThat.net
Create a benchmark
Tools
Feedback
FAQ
Register
Log In
Mask by regex vs document.createlement
(version: 0)
Comparing performance of:
document.createElement (every time) vs document.createElement (once) vs mask by regex (with map) vs mask by regex (direct)
Created:
2 years ago
by:
Guest
Jump to the latest result
Script Preparation code:
data = ["test", "test&test", "", "string", "test&test", "123456", "!\"§$%&/()=", "<&>", "<script>hi</script>", "\"quot\"", "&><"", "Some random text, some random text"]; diff = {};
Tests:
document.createElement (every time)
let n = 0; while(true) { n++; const input = data[n % (data.length)]; // === start const p = document.createElement("p"); p.textContent = input; const val = p.innerHTML; // === end if (input !== val && !diff[input]) { diff[input] = val; } if(n===100000) break; } console.log("diff 0", diff);
document.createElement (once)
let n = 0; const p = document.createElement("p"); while(true) { n++; const input = data[n % (data.length)]; // === start p.textContent = input; const val = p.innerHTML; // === end if (input !== val && !diff[input]) { diff[input] = val; } if(n===100000) break; } console.log("diff 1", diff);
mask by regex (with map)
let n = 0; const p = document.createElement("p"); const replace = (value, replace) => { let result = value; replace.forEach( (replacment, regex) => (result = result.replace(regex, replacment)) ); return result; }; while(true) { n++; const input = data[n % (data.length)]; /// start const replacements = new Map(); replacements.set(/&/gm, "&"); // replace & with replacements.set(/>/gm, ">"); // replace > with > replacements.set(/</gm, "<"); // replace < with < replacements.set(/"/gm, """); // replace " with " let val = replace(input, replacements); // === end if (input !== val && !diff[input]) { diff[input] = val; } if(n===100000) break; } console.log("diff 2", diff);
mask by regex (direct)
let n = 0; const p = document.createElement("p"); while(true) { n++; const input = data[n % (data.length)]; /// start const val = input.replace(/&/gm, "&").replace(/>/gm, ">").replace(/</gm, "<").replace(/"/gm, """); // === end if (input !== val && !diff[input]) { diff[input] = val; } if(n===100000) break; } console.log("diff 3", diff);
Rendered benchmark preparation results:
Suite status:
<idle, ready to run>
Run tests (4)
Previous results
Fork
Test case name
Result
document.createElement (every time)
document.createElement (once)
mask by regex (with map)
mask by regex (direct)
Fastest:
N/A
Slowest:
N/A
Latest run results:
No previous run results
This benchmark does not have any results yet. Be the first one
to run it!
Comments
Confirm delete:
Do you really want to delete benchmark?