why regexprep much slower than strrep

4 次查看(过去 30 天)
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 个)

类别

Help CenterFile Exchange 中查找有关 Characters and Strings 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by