Toggle navigation
MeasureThat.net
Create a benchmark
Tools
Feedback
FAQ
Register
Log In
Run results for:
Diacritics removal
Go to the benchmark
Embed
Embed Benchmark Result
Run details:
User agent:
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36
Browser:
Chrome 131
Operating system:
Mac OS X 10.15.7
Device Platform:
Desktop
Date tested:
one year ago
Test name
Executions per second
Old
26697.3 Ops/sec
New
359406.4 Ops/sec
Script Preparation code:
const replaceMap = { œ: 'oe', æ: 'ae', } const replacementsRegex = new RegExp(Object.keys(replaceMap).join('|'), 'g') window.removeDiacritics = (value) => { return value .normalize('NFD') .replace(/[\u0300-\u036f]/g, '') .replace(replacementsRegex, (char) => { return replaceMap[char] || char }) } window.oldRemoveDiacritics = function(s) { if (!s) return s; let r = s; r = r.replace(/[àáâãäå]/g, 'a'); r = r.replace(/æ/g, 'ae'); r = r.replace(/ç/g, 'c'); r = r.replace(/[èéêë]/g, 'e'); r = r.replace(/[ìíîï]/g, 'i'); r = r.replace(/ñ/g, 'n'); r = r.replace(/[òóôõö]/g, 'o'); r = r.replace(/œ/g, 'oe'); r = r.replace(/[ùúûü]/g, 'u'); r = r.replace(/[ýÿ]/g, 'y'); r = r.replace(/\\W/g, ''); // To prevent some weird behaviors with MacOS diacritics r = _(r).map(function(char) { return String.fromCharCode(char.charCodeAt(0)); }); return r.join(''); };
Tests:
Old
oldRemoveDiacritics(` Dji pou magnî do vêre, çoula m' freut nén må - æsope - robot œuf Lorem, ipsum dolor sit amet consectetur adipisicing elit. Reiciendis voluptatem dolores molestiae possimus laudantium consequuntur placeat earum neque maxime modi quasi fugiat quae inventore, illo in corporis corrupti esse a! `)
New
removeDiacritics(` Dji pou magnî do vêre, çoula m' freut nén må - æsope - robot œuf Lorem, ipsum dolor sit amet consectetur adipisicing elit. Reiciendis voluptatem dolores molestiae possimus laudantium consequuntur placeat earum neque maxime modi quasi fugiat quae inventore, illo in corporis corrupti esse a! `)