Re: Split _bt_insertonpg to two functions
От | Bruce Momjian |
---|---|
Тема | Re: Split _bt_insertonpg to two functions |
Дата | |
Msg-id | 200703010208.l2128hV02011@momjian.us обсуждение исходный текст |
Ответ на | Split _bt_insertonpg to two functions (Heikki Linnakangas <heikki@enterprisedb.com>) |
Список | pgsql-patches |
Your patch has been added to the PostgreSQL unapplied patches list at: http://momjian.postgresql.org/cgi-bin/pgpatches It will be applied as soon as one of the PostgreSQL committers reviews and approves it. --------------------------------------------------------------------------- Heikki Linnakangas wrote: > Here's a patch that: > > Moves the logic to find a page with enough room from _bt_insertonpg to a > new function, _bt_findinsertloc. It makes the code more readable, and > simplifies the forthcoming Grouped Index Tuples patch. > > Also, the insert location within page used to be calculated twice for > unique indexes, once in _bt_checkunique and second time in > _bt_insertonpg. That's a waste of cycles, and this patch fixes that. > > > I couldn't measure a difference with pgbench, but this micro-benchmark > shows it: > > > psql postgres -c "CREATE TABLE inserttest (i int PRIMARY KEY);" > > psql postgres -c "TRUNCATE inserttest; checkpoint;"; sync > > time ~/pgsql.cvshead/bin/psql postgres -c "TRUNCATE inserttest; > INSERT INTO inserttest SELECT a FROM generate_series(1,1000000) a;" > > Without patch: real 0m7.260s > With patch: real 0m6.963s > > On my laptop, fsync=off, full_page_writes=off, checkpoint_segments = 10, > to remove any other variables. > > It's not a huge difference, but it's worth having, and performance > wasn't the main motivation of the patch anyway. > > -- > Heikki Linnakangas > EnterpriseDB http://www.enterprisedb.com > > ---------------------------(end of broadcast)--------------------------- > TIP 7: You can help support the PostgreSQL project by donating at > > http://www.postgresql.org/about/donate -- Bruce Momjian <bruce@momjian.us> http://momjian.us EnterpriseDB http://www.enterprisedb.com + If your life is a hard drive, Christ can be your backup. +
В списке pgsql-patches по дате отправления: