Re: Marginal performance improvement: replace bms_first_member loops
От | Tom Lane |
---|---|
Тема | Re: Marginal performance improvement: replace bms_first_member loops |
Дата | |
Msg-id | 5102.1417202290@sss.pgh.pa.us обсуждение исходный текст |
Ответ на | Re: Marginal performance improvement: replace bms_first_member loops (David Rowley <dgrowleyml@gmail.com>) |
Ответы |
Re: Marginal performance improvement: replace
bms_first_member loops
|
Список | pgsql-hackers |
David Rowley <dgrowleyml@gmail.com> writes: > A while back when I was benchmarking the planner time during my trials with > anti/semi join removals, I wrote a patch to change the usage pattern for > cases such as: > if (bms_membership(a) != BMS_SINGLETON) > return; /* nothing to do */ > singleton = bms_singleton_member(a); > ... > Into: > if (!bms_get_singleton(a, &singleton)) > return; /* nothing to do */ > ... > Which means 1 function call and loop over the bitmapset, rather than 2 > function > calls and 2 loops over the set when the set is a singleton. I went ahead and committed this with some cosmetic adjustments. I'm not sure about there being any performance win in existing use-cases, but it seems worth doing on notational grounds anyway. regards, tom lane
В списке pgsql-hackers по дате отправления: