IT
JS - replaceAll vs regex replace
내일은교양왕
2023. 7. 4. 10:44
replaceAll() 메소드와 regex 이용하여 replace() 중 어느것이 더 빠른지 알아보겠습니다.
테스트 전 확인
String.prototype.replaceAll = function(search, replacement) {
var target = this;
return target.replace(new RegExp(search, 'g'), replacement);
};
테스트
//regex replace
"this is it".replace(/ /g, "+");
//replaceAll
"this is it".replaceAll(" ", "+");
결과
replace regex가 3배정도 더 빠르게 나왔습니다.
이유는 예상으로 replaceAll 메소드 내부에서 RegExp instance를 생성해서 발생되는 것으로 추측합니다.
method | executions per second |
replace regex | 12,350,890 Ops/sec |
replaceAll | 4,200,029 Ops/sec |
참고
https://www.measurethat.net/Benchmarks/Show/2396/0/replaceall-vs-regex-replace
Benchmark: replaceAll vs regex replace - MeasureThat.net
www.measurethat.net