|
View:
New views
3 Messages
—
Rating Filter:
Alert me
|
|
|
Re: [PERFORM] insert performance for win32> On Tuesday 06 September 2005 19:11, Merlin Moncure wrote:
> Here's the timeofday ... i'll do the gprof as soon as I can. > Every 50000 rows... > > Wed Sep 07 13:58:13.860378 2005 CEST > Wed Sep 07 13:58:20.926983 2005 CEST > Wed Sep 07 13:58:27.928385 2005 CEST > Wed Sep 07 13:58:35.472813 2005 CEST > Wed Sep 07 13:58:42.825709 2005 CEST > Wed Sep 07 13:58:50.789486 2005 CEST > Wed Sep 07 13:58:57.553869 2005 CEST > Wed Sep 07 13:59:04.298136 2005 CEST > Wed Sep 07 13:59:11.066059 2005 CEST > Wed Sep 07 13:59:19.368694 2005 CEST 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. 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. 3. The mingw gprof cumulative seconds does not show measurable growth in cpu time/insert in 50k/250k profile. I'm now talking suggestions about where to look for performance problems :(. Merlin ---------------------------(end of broadcast)--------------------------- TIP 9: In versions below 8.0, the planner will ignore your desire to choose an index scan if your joining column's datatypes do not match |
|
|
Re: [PERFORM] insert performance for win32"Merlin Moncure" <merlin.moncure@...> 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 ---------------------------(end of broadcast)--------------------------- TIP 1: if posting/reading through Usenet, please send an appropriate subscribe-nomail command to majordomo@... so that your message can get through to the mailing list cleanly |
|
|
|
| Free embeddable forum powered by Nabble | Forum Help |