On 12/08/2014 01:22 PM, Tom Lane wrote:
> Adrian Klaver <adrian.klaver@aklaver.com> writes:
>> I redid the test on my 32-bit machine, setting work_mem=16MB, and I got
>> comparable results to what I saw on the 64-bit machine. So, what I am
>> still am puzzled by is why work_mem seems to make the two paths
>> equivalent in time?:
>
> If work_mem is large enough that we never have to go through
> tbm_lossify(), then the recheck condition will never be executed,
> so its speed doesn't matter.
Aah, peeking into tidbitmap.c is enlightening. Thanks.
>
> (So the near-term workaround for Tim is to raise work_mem when
> working with tables of this size.)
>
> regards, tom lane
>
>
--
Adrian Klaver
adrian.klaver@aklaver.com