Em sáb., 6 de abr. de 2024 às 22:39, Andres Freund <and...@anarazel.de> escreveu:
> Hi, > > On 2024-04-07 00:45:31 +0200, Jelte Fennema-Nio wrote: > > On Sat, 6 Apr 2024 at 22:21, Andres Freund <and...@anarazel.de> wrote: > > > The small regression for small results is still kinda visible, I > haven't yet > > > tested the patch downthread. > > > > Thanks a lot for the faster test script, I'm also impatient. I still > > saw the small regression with David his patch. Here's a v6 where I > > think it is now gone. I added inline to internal_put_bytes too. I > > think that helped especially because for two calls to > > internal_put_bytes len is a constant (1 and 4) that is smaller than > > PqSendBufferSize. So for those calls the compiler can now statically > > eliminate the new codepath because "len >= PqSendBufferSize" is known > > to be false at compile time. > > Nice. > > > > Also I incorporated all of Ranier his comments. > > Changing the global vars to size_t seems mildly bogus to me. All it's > achieving is to use slightly more memory. It also just seems unrelated to > the > change. > I don't agree with this thought. Actually size_t uses 4 bytes of memory than int, right. But mixing up int and size_t is a sure way to write non-portable code. And the compilers will start showing messages such as " signed/unsigned mismatch". The global vars PqSendPointer and PqSendStart were changed in the v5 patch, so for the sake of style and consistency, I understand that it is better not to mix the types. The compiler will promote PqSendBufferSize to size_t in all comparisons. And finally the correct type to deal with char * variables is size_t. Best regards, Ranier Vilela > Greetings, > > Andres Freund >