Hacker News new | ask | show | jobs
by daviducolo 427 days ago
I have applied your suggestions. Thank you again.

https://github.com/davidesantangelo/krep/releases/tag/v1.1.1

2 comments

No problem, hope it was useful.

I've found a lot of real world performance comes from doing as little as possible inside the main search loop.

UPDATE: It's often the case that a simpler algorithm outperforms a theoretically better one. For example, you are using Boyer Moore Horspool, which is the simpler cousin of the original Boyer Moore. BM can get better shifts than Horspool, but it's often slower in practice.

An implication of doing as little as possible in the loop is you could boost performance by creating variants of the search algorithm for different types of search. Then you won't incur the penalty or constantly testing "if it's this kind of search do this else do that" inside the search loop.