pgsql: Avoid copying index tuples when building an index.
От | Robert Haas |
---|---|
Тема | pgsql: Avoid copying index tuples when building an index. |
Дата | |
Msg-id | E1X1zCA-0007tT-1h@gemulon.postgresql.org обсуждение исходный текст |
Список | pgsql-committers |
Avoid copying index tuples when building an index. The previous code, perhaps out of concern for avoid memory leaks, formed the tuple in one memory context and then copied it to another memory context. However, this doesn't appear to be necessary, since index_form_tuple and the functions it calls take precautions against leaking memory. In my testing, building the tuple directly inside the sort context shaves several percent off the index build time. Rearrange things so we do that. Patch by me. Review by Amit Kapila, Tom Lane, Andres Freund. Branch ------ master Details ------- http://git.postgresql.org/pg/commitdiff/9f03ca915196dfc871804a1f8aad26207f601fd6 Modified Files -------------- src/backend/access/common/indextuple.c | 3 +++ src/backend/access/hash/hash.c | 32 +++++++++++++------------------- src/backend/access/hash/hashsort.c | 5 +++-- src/backend/access/nbtree/nbtree.c | 11 ++--------- src/backend/access/nbtree/nbtsort.c | 5 +++-- src/backend/utils/sort/tuplesort.c | 23 +++++++++++++---------- src/include/access/hash.h | 3 ++- src/include/access/nbtree.h | 3 ++- src/include/utils/tuplesort.h | 4 +++- 9 files changed, 44 insertions(+), 45 deletions(-)
В списке pgsql-committers по дате отправления: