Re: Make COPY format extendable: Extract COPY TO format implementations
Michael Paquier <michael@paquier.xyz>
On Mon, Oct 07, 2024 at 03:23:08PM -0700, Masahiko Sawada wrote: > In the benchmark, I've applied the v20 patch set and 'master' in the > result refers to a19f83f87966. And I disabled CPU turbo boost where > possible. Overall, v20 patch got a similar or better performance in > both COPY FROM and COPY TO compared to master except for on MacOS. > I'm not sure that changes made to master since the last benchmark run by > Tomas and Suto-san might contribute to these results. Don't think so. FWIW, I have been looking at the set of tests with previous patch versions around v7 and v10 I have done, and did notice a similar pattern where COPY FROM was getting slightly better for text and binary. It did not look like only noise involved, and it was kind of reproducible. As long as we avoid the function pointer redirection for the per-row processing when dealing with in-core formats, we should be fine as far as I understand. That's what the latest patch set is doing based on a read of v21. > I'll try to investigate the performance regression that happened on MacOS. I don't have a good explanation for this one. Did you mount the data folder on a tmpfs and made sure that all the workloads were CPU-bounded? > I think that other performance differences in my results seem to be within > noises and could be acceptable. Of course, it would be great if others > also could try to run benchmark tests. Yeah. At 1~2% it could be noise, but there are reproducible 1~2% evolutions. In the good sense here, it means. -- Michael
Commits
-
Refactor Copy{From|To}GetRoutine() to use pass-by-reference argument.
- bacbc4863b3b 18.0 landed
-
Refactor COPY FROM to use format callback functions.
- 7717f6300693 18.0 landed
-
Refactor COPY TO to use format callback functions.
- 2e4127b6d2d8 18.0 landed
-
Another try to fix BF failure introduced in commit ddd5f4f54a.
- 9bc1eee988c3 17.0 cited
-
Revert "Refactor CopyReadAttributes{CSV,Text}() to use a callback in COPY FROM"
- 06bd311bce24 17.0 landed
-
Improve COPY TO performance when server and client encodings match
- b619852086ed 17.0 cited
-
Simplify signature of CopyAttributeOutCSV() in copyto.c
- b9d6038d7048 17.0 landed
-
Revert "Refactor CopyAttributeOut{CSV,Text}() to use a callback in COPY TO"
- 1aa8324b81fa 17.0 landed
-
Refactor CopyAttributeOut{CSV,Text}() to use a callback in COPY TO
- 2889fd23be56 17.0 landed
-
Refactor CopyReadAttributes{CSV,Text}() to use a callback in COPY FROM
- 95fb5b49024a 17.0 landed
-
Add progress reporting of skipped tuples during COPY FROM.
- 729439607ad2 17.0 cited
-
pgbench: Add \syncpipeline
- 94edfe250c6a 17.0 cited
-
meson: Make gzip and tar optional
- 9ca6e7b9411e 17.0 cited
-
Export the external file reader used in COPY FROM as APIs.
- 8ddc05fb01ee 9.1.0 cited