Re: Making empty Bitmapsets always be NULL
От | David Rowley |
---|---|
Тема | Re: Making empty Bitmapsets always be NULL |
Дата | |
Msg-id | CAApHDvqtbSj-iEakFjT4BS5_+ACL8-NPp3CAGnzhvbNP12MDAw@mail.gmail.com обсуждение исходный текст |
Ответ на | Re: Making empty Bitmapsets always be NULL (Yuya Watari <watari.yuya@gmail.com>) |
Ответы |
Re: Making empty Bitmapsets always be NULL
|
Список | pgsql-hackers |
Thank you for running the profiles. On Tue, 27 Jun 2023 at 21:11, Yuya Watari <watari.yuya@gmail.com> wrote: > On Sat, Jun 24, 2023 at 1:15 PM David Rowley <dgrowleyml@gmail.com> wrote: > > I think it's also important to check we don't slow anything down for > > more normal-sized sets. The vast majority of sets will contain just a > > single word, so we should probably focus on making sure we're not > > slowing anything down for those. > > I agree with you and thank you for sharing the results. I ran > installcheck with your patch. The result is as follows. The speedup > was 0.33%. At least in my environment, I did not observe any > regression with this test. So, the patch looks very good. > > Master: 2.559648 seconds > Patched: 2.551116 seconds (0.33% faster) I wondered if the common case could be made slightly faster by checking the 0th word before checking the word count before going onto check the remaining words. For bms_equal(), that's something like: if (a->words[0] != b->words[0] || a->nwords != b->nwords) return false; /* check all the remaining words match */ for (int i = 1; i < a->nwords; i++) ... I wrote the patch and tried it out, but it seems slightly slower than the v4 patch. Linux with AMD 3990x, again using the patch from [1] with make installcheck master: 1.41720145 seconds v4: 1.392969606 seconds (1.74% faster than master) v4 with 0th word check: 1.404199748 seconds (0.93% faster than master) I've attached a delta patch of what I used to test. Since it's not any faster, I don't think it's worth doing. It'll also produce slightly more compiled code. David [1] https://postgr.es/m/CAApHDvo68m_0JuTHnEHFNsdSJEb2uPphK6BWXStj93u_QEi2rg@mail.gmail.com
Вложения
В списке pgsql-hackers по дате отправления: