Toggle navigation
MeasureThat.net
Create a benchmark
Tools
Feedback
FAQ
Register
Log In
Run results for:
regex replace vs replaceAll vs replace in loop V1.1
replace all whitespaces from string. what is faster? replace() with regex with global flag or without global flag and using a loop?
Go to the benchmark
Embed
Embed Benchmark Result
Run details:
User agent:
Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:121.0) Gecko/20100101 Firefox/121.0
Browser:
Firefox 121
Operating system:
Windows
Device Platform:
Desktop
Date tested:
2 years ago
Test name
Executions per second
replace
124493.2 Ops/sec
replaceAll
117762.5 Ops/sec
replace in a loop without g flag
4711.7 Ops/sec
replace in a loop, count matches with g flag, replace without g flag
7330.3 Ops/sec
Script Preparation code:
function replaceAll(str, regexp, newValue) { let newStr = str; while (regexp.test(newStr)) { newStr = newStr.replace(regexp, newValue); } return newStr; } function replaceAllCountMatches(str, regexp, newValue) { let newStr = str; for (let i = 0; i < matchesCounter; i++) { newStr = newStr.replace(regexp, newValue); } return newStr; } var str = 'Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Duis autem vel eum iriure dolor in hendrerit in vulputate velit esse molestie consequat, vel illum dolore eu feugiat nulla facilisis a'; var matchesCounter = (str.match(/\s+/g) || []).length; var result;
Tests:
replace
result = str.replace(/\s+/g, '');
replaceAll
result = str.replaceAll(/\s+/g, '');
replace in a loop without g flag
result = replaceAll(str, /\s+/, '');
replace in a loop, count matches with g flag, replace without g flag
result = replaceAllCountMatches(str, /\s+/, '');