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  <[EMAIL PROTECTED]>          http://momjian.us
  EnterpriseDB                               http://www.enterprisedb.com

  + If your life is a hard drive, Christ can be your backup. +

---------------------------(end of broadcast)---------------------------
TIP 7: You can help support the PostgreSQL project by donating at

                http://www.postgresql.org/about/donate

Reply via email to