On Fri, Nov 29, 2024 at 9:07 AM Sutou Kouhei <k...@clear-code.com> wrote: > > Hi, > > In <CAEG8a3+BmNeEOLmApOCyktYbiZW=s95dvpod_fxjs+3ievz...@mail.gmail.com> > "Re: Make COPY format extendable: Extract COPY TO format implementations" > on Thu, 28 Nov 2024 19:02:57 +0800, > Junwang Zhao <zhjw...@gmail.com> wrote: > > >> > I tested 3 branches: > >> > > >> > 1. the master branch > >> > 2. all v26 patch sets applied > >> > 3. Emitting JSON to file using COPY TO v13 patch set[1], this add some > >> > if branch in CopyOneRowTo, so I was expecting this slower than master > >> > > >> > You can see the detailed results here[2], I can not upload files so I > >> > just shared the google doc link, ping me if you can not open the link. > >> > > >> > [1]: > >> > https://www.postgresql.org/message-id/CACJufxH8J0uD-inukxAmd3TVwt-b-y7d7hLGSBdEdLXFGJLyDA%40mail.gmail.com > >> > [2]: > >> > https://docs.google.com/spreadsheets/d/1wJPXZF4LHe34X9IU1pLG7rI9sCkSy2dEkdj7w7avTqM/edit?usp=sharing > >> > >> Thanks for sharing your numbers. > >> > >> 1. and 2. shows that there is at least no significant > >> performance regression. > > > > Agreed. > > Can we focus on only 1. and 2. in this thread? > > >> I see the patch set of 3. and I think that the result > >> (there is no performance difference between 1. and 3.) isn't > >> strange. The patch set adds some if branches but they aren't > >> used with "text" format at least in per row process. > > > > It is not used in "text" format, but it adds some assembly code > > to the CopyOneRowTo function, so this will have some impact > > on the cpu i cache I guess. > > > > There is difference between 1 and 3, 3 is always better than 1 > > upto 4% improvement > > Can we discuss 1. and 3. in the [1] thread?
This thread and [1] thread are kind of interleaved, I chose this thread to share the numbers because I think this feature should be committed first and then adapt the *copy to json* as a contrib module. Committers on this thread seem worried about the performance drawback, so what I tried to do is that *if 2 is slightly worse than 1, but better than 3*, then we can commit 2 first, but I did not get the expected number. > > (Anyway, we may want to confirm whether these numbers are > reproducible or not as the first step.) > > > I forgot to mention that the comparisons > > are in *sheet2*. > > Thanks. I missed it. > > > Thanks, > -- > kou -- Regards Junwang Zhao