Re: [PATCHES] TODO item: Implement Boyer-Moore searching (First time hacker)
От | Tom Lane |
---|---|
Тема | Re: [PATCHES] TODO item: Implement Boyer-Moore searching (First time hacker) |
Дата | |
Msg-id | 6183.1220761607@sss.pgh.pa.us обсуждение исходный текст |
Ответ на | Re: [PATCHES] TODO item: Implement Boyer-Moore searching (First time hacker) ("David Rowley" <dgrowley@gmail.com>) |
Ответы |
Re: [PATCHES] TODO item: Implement Boyer-Moore searching (First time hacker)
|
Список | pgsql-hackers |
"David Rowley" <dgrowley@gmail.com> writes: > I've made the discussed changes. Also updated the benchmark results. > http://www.unixbeast.com/~fat/8.3_test_v1.3.xls Applied with revisions; mostly cosmetic except for one point. I realized after studying the code a bit more that B-M cannot possibly win for a single-character pattern (needle), since the skip distance must always be 1 in that case. The fact that it seemed to keep up at that length has to be because the original coding included a strncmp call inside the innermost loop, which likely prevents the compiler from optimizing that loop really tightly. But the strncmp wasn't doing anything anyway for the case of pattern length = 1. So what I committed special-cases pattern length 1 to be a naive search with a *very* tight inner loop. I think it's worth troubling over this case because a common usage is split_to_array and suchlike with single-character delimiters. regards, tom lane
В списке pgsql-hackers по дате отправления: