stringz icon indicating copy to clipboard operation
stringz copied to clipboard

Ideas for perf improvements on long strings

Open tjmehta opened this issue 6 years ago • 1 comments

Hello @sallar,

Thanks for this great library! My application can potentially be running ‘substr’ on many long strings at the same time, so perf is very important. I noticed that ‘substr’ (etc) uses ‘match’ which runs the RegExp on the entire string. This can be quite expensive for long string especially if ‘substr’s ‘length’ is much shorter than the entire string.

So far I only have one idea: to use ‘exec’ with a while loop in the case that ‘length’ is much shorter than the entire ‘string’*. Do you have any other ideas for perf improvements? I would be happy to implement them and send you PRs.

*See benchmarks: https://jsperf.com/regex-exec-vs-match-for-long-strings/1

Thanks

tjmehta avatar Mar 10 '18 16:03 tjmehta

Hi @tjmehta, thanks! If you think that will improve the perf, please send a PR :) It's highly appreciated.

Thanks.

sallar avatar Mar 10 '18 16:03 sallar