On Tue, Sep 28, 2021 at 5:21 PM Tomas Vondra <tomas.von...@enterprisedb.com> wrote: > >> Yeah, if it is losing in some cases then it is definitely good to know > >> the reason, I was just looking into the performance numbers shared by > >> Tomas in query-results, I can see the worst case is > >> with 10000000 rows, 10 columns and 4 threads and queue size 64k. > >> Basically, if we see the execution time with head is ~804ms whereas > >> with patch it is ~1277 ms. But then I just tried to notice the > >> pattern with different queue size so number are like below, > >> > >> 16k 64k 256k 1024k > >> Head 1232.779 804.24 1134.723 901.257 > >> Patch 1371.493 1277.705 862.598 783.481 > >> > >> So what I have noticed is that in most of the cases on head as well as > >> with the patch, increasing the queue size make it faster, but with > >> head suddenly for this particular combination of rows, column and > >> thread the execution time is very low for 64k queue size and then > >> again the execution time increased with 256k queue size and then > >> follow the pattern. So this particular dip in the execution time on > >> the head looks a bit suspicious to me. > >> > > > > I concur with your observation. Isn't it possible to repeat the same > > test in the same environment to verify these results? > > > > I can repeat any tests we need on that machine, of course. >
I think that would be great, can we just test this specific target where we are seeing a huge dip with the patch, e.g. with 10000000 rows, 10 columns and 4 threads, and queue size 64k. In my performance machine, I tried to run this test multiple times but on the head, it is taking ~2000 ms whereas with the patch it is ~1500 ms, so I am not able to reproduce this. So it would be good if you can run only this specific test and repeat it a couple of times on your performance machine. -- Regards, Dilip Kumar EnterpriseDB: http://www.enterprisedb.com