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  (David Rowley <dgrowleyml@gmail.com>)
Список 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 по дате отправления:

Предыдущее
От: Andres Freund
Дата:
Сообщение: Re: no test programs in contrib
Следующее
От: Josh Berkus
Дата:
Сообщение: Re: no test programs in contrib