pgsql: Improve performance of fixempties() pass in regular-expression c
В списке pgsql-committers по дате отправления:
| От | Tom Lane |
|---|---|
| Тема | pgsql: Improve performance of fixempties() pass in regular-expression c |
| Дата | |
| Msg-id | E1ZnB7A-0005i7-9Y@gemulon.postgresql.org обсуждение исходный текст |
| Список | pgsql-committers |
Improve performance of fixempties() pass in regular-expression compiler. The previous coding took something like O(N^4) time to fully process a chain of N EMPTY arcs. We can't really do much better than O(N^2) because we have to insert about that many arcs, but we can do lots better than what's there now. The win comes partly from using mergeins() to amortize de-duplication of arcs across multiple source states, and partly from exploiting knowledge of the ordering of arcs for each state to avoid looking at arcs we don't need to consider during the scan. We do have to be a bit careful of the possible reordering of arcs introduced by the sort-merge coding of the previous commit, but that's not hard to deal with. Back-patch to all supported branches. Branch ------ REL9_3_STABLE Details ------- http://git.postgresql.org/pg/commitdiff/677e64cb8042ff6002069f1b587d933f4cdee925 Modified Files -------------- src/backend/regex/regc_nfa.c | 249 +++++++++++++++++++++--------------------- src/backend/regex/regcomp.c | 6 +- 2 files changed, 128 insertions(+), 127 deletions(-)
В списке pgsql-committers по дате отправления:
Сайт использует файлы cookie для корректной работы и повышения удобства. Нажимая кнопку «Принять» или продолжая пользоваться сайтом, вы соглашаетесь на их использование в соответствии с Политикой в отношении обработки cookie ООО «ППГ», в том числе на передачу данных из файлов cookie сторонним статистическим и рекламным службам. Вы можете управлять настройками cookie через параметры вашего браузера