David Rowley <dgrowle...@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 -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers