Re: [pgsql-hackers-win32] insert performance for win32 - Mailing list pgsql-performance

From Tom Lane
Subject Re: [pgsql-hackers-win32] insert performance for win32
Date
Msg-id 27312.1126105333@sss.pgh.pa.us
Whole thread Raw
In response to Re: insert performance for win32  ("Merlin Moncure" <merlin.moncure@rcsonline.com>)
List pgsql-performance
"Merlin Moncure" <merlin.moncure@rcsonline.com> writes:
> ok, I've been in crunching profile profile graphs, and so far have been
> only been able to draw following conclusions.

> For bulk, 'in-transaction' insert:
> 1. win32 is slower than linux.  win32 time for each insert grows with #
> inserts in xact, linux does not (or grows much slower).  Win32 starts
> out about 3x slower and grows to 10x slower after 250k inserts.

Just to be clear: what you were testing was
    BEGIN;
    INSERT ... VALUES (...);
    repeat insert many times
    COMMIT;
with each statement issued as a separate PQexec() operation, correct?
Was this set up as a psql script, or specialized C code?  (If a psql
script, I wonder whether it's psql that's chewing the time.)

> 2. ran a 50k profile vs. 250k profile.  Nothing jumps out as being
> slower or faster: most time is spent in yyparse on either side.  From
> this my preliminary conclusion is that there is something going on in
> the win32 api which is not showing in the profile.

Hmm.  Client/server data transport maybe?  It would be interesting to
try inserting the same data in other ways:
    * COPY from client
    * COPY from disk file
    * INSERT/SELECT from another table
and see whether you see a similar slowdown.

            regards, tom lane

pgsql-performance by date:

Previous
From: "Merlin Moncure"
Date:
Subject: Re: insert performance for win32
Next
From: Christian Compagnon
Date:
Subject: Query take 101 minutes, help, please