why regexprep much slower than strrep

Consider the following simplified example:
str = cellstr(repmat('987_890',1e5,1));
timeit(@()strrep(str,'_',''))
timeit(@()regexprep(str,'_',''))
strrep is ~3x faster than regexprep() on R014b - Win7 - cpu i5 3rd gen.
I reckon regexprep carries some overhead for being more flexible but I would expect it to be slightly slower than strrep unless it does the replacement on the go (to allow backtracking). However, in this simple substitution I hoped the engine was smart enough to recognize it does not need to backtrack.
Any thoughts?

답변 (0개)

카테고리

도움말 센터File Exchange에서 App Building에 대해 자세히 알아보기

질문:

2014년 11월 16일

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by