Re: [PATCHES] Libpq COPY optimization patch

2006-01-25 Thread Alon Goldshuv
Libpq copy speedup patch attached. No input buffer logic involved, just removing the expensive PQconsumeInput call per putCopyData call, and leaving parseInput as is, as discussed before. Alon. libpq_copy.patch Description: Binary data ---(end of broadcast)-

Re: [PATCHES] Libpq COPY optimization patch

2006-01-24 Thread Alon Goldshuv
> You mean something like > > if (input-buffer-not-empty) > parseInput(); > > ? This still bothers me a bit since it's a mixing of logic levels; > PQputCopyData is an output routine, it shouldn't be getting its fingers > dirty with input buffer contents. I'm willing to tolerate this if it > can

Re: [PATCHES] Libpq COPY optimization patch

2006-01-24 Thread Alon Goldshuv
Tom, >> Here is a patch against today's code 1/24. As discussed in -hackers >> consumeInput/parse is removed from being called every single time. It's >> still there for only when the data is sent to the server. > > This appears to be the exact same patch you sent before. Did you > test my sugge

[PATCHES] Libpq COPY optimization patch

2006-01-24 Thread Alon Goldshuv
Here is a patch against today's code 1/24. As discussed in -hackers consumeInput/parse is removed from being called every single time. It's still there for only when the data is sent to the server. Alon. pq_put_copy_data.patch Description: Binary data ---(end of broadca

Re: [PATCHES] COPY FROM performance improvements

2005-08-09 Thread Alon Goldshuv
I did some performance checks after the recent code commit. The good news is that the parsing speed of COPY is now MUCH faster, which is great. It is about 5 times faster - about 100MB/sec on my machine (previously 20MB/sec at best, usually less). The better news is that my original patch parsing

Re: [PERFORM] [PATCHES] COPY FROM performance improvements

2005-08-02 Thread Alon Goldshuv
Tom, Thanks for pointing it out. I made the small required modifications to match copy.c version 1.247 and sent it to -patches list. New patch is V16. Alon. On 8/1/05 7:51 PM, "Tom Lane" <[EMAIL PROTECTED]> wrote: > "Alon Goldshuv" <[EMAIL PROTECTED]> writes

Re: [PATCHES] COPY FROM performance improvements

2005-07-19 Thread Alon Goldshuv
markw 50 136M Jul 8 15:03 supplier.tbl > > Number of rows: > # wc -l *.tbl > 1500 customer.tbl >600037902 lineitem.tbl > 25 nation.tbl >15000 orders.tbl > 2000 part.tbl > 8000 partsupp.tbl >5 region.tbl >

Re: [PATCHES] COPY FROM performance improvements

2005-07-19 Thread Alon Goldshuv
speed etc... This is for TEXT format. As for CSV, it may be faster but not as much as I specified here. BINARY will stay the same as before. HTH Alon. On 7/19/05 12:54 PM, "Mark Wong" <[EMAIL PROTECTED]> wrote: > On Thu, 14 Jul 2005 17:22:18 -0700 > "Alon Goldshu

Re: [PATCHES] COPY FROM performance improvements

2005-06-25 Thread Alon Goldshuv
Alon. On 6/25/05 4:27 PM, "Tom Lane" <[EMAIL PROTECTED]> wrote: > "Alon Goldshuv" <[EMAIL PROTECTED]> writes: >> A struct "bytebuffer" is used instead of a StringInfoData for storing the >> line and attributes. A StringInfoData is act

Re: [PATCHES] COPY FROM performance improvements

2005-06-25 Thread Alon Goldshuv
e bytebuffer is more straightfoward and faster. Alon. On 6/25/05 3:52 PM, "Alon Goldshuv" <[EMAIL PROTECTED]> wrote: > > >> I haven't seen any demand for users to be allowed to specify an escape char >> in text mode (BTW, that's what the docs call what

Re: [PATCHES] COPY FROM performance improvements

2005-06-25 Thread Alon Goldshuv
> I haven't seen any demand for users to be allowed to specify an escape char > in text mode (BTW, that's what the docs call what you have called delimited > mode). Maybe there's a case for it, but I somewhat doubt it. I ran into users that could not load their data using COPY because their data

Re: [PATCHES] COPY FROM performance improvements

2005-06-25 Thread Alon Goldshuv
> What about this one: > case COPY_OLD_FE: > +ereport(ERROR, > + (errcode(ERRCODE_CONNECTION_FAILURE), > + errmsg("Old FE protocal not yet supported in fast COPY processing > (CopyGetData())"))); > + > > This can't stay like it is, can it? > Who uses the old FE protocol for CO

Re: [PATCHES] COPY FROM performance improvements

2005-06-25 Thread Alon Goldshuv
Andrew, Thanks for your initial feedback. > 2. This comment raises a flag in my mind: > > + * each attribute begins. If a specific attribute is not used for this > + * COPY command (ommitted from the column list), a value of 0 will be > assigned.+ * For example: for table foo(a,b,c,d,e) and COPY

Re: [PATCHES] COPY fast parse patch

2005-06-01 Thread Alon Goldshuv
Neil, Right; I really dislike the idea of having two separate code paths for COPY. When you say this approach is "temporary", are you suggesting that you intend to reimplement your changes as improvements/replacements of the existing COPY code path rather than as a parallel code path? My tho