Re: [GENERAL] Creation of tsearch2 index is very slow - Mailing list pgsql-performance

From Steinar H. Gunderson
Subject Re: [GENERAL] Creation of tsearch2 index is very slow
Date
Msg-id 20060120214402.GA22493@uio.no
Whole thread Raw
In response to Re: [GENERAL] Creation of tsearch2 index is very slow  (Martijn van Oosterhout)
List pgsql-performance
On Fri, Jan 20, 2006 at 10:37:54PM +0100, Martijn van Oosterhout wrote:
> Given that all it's doing is counting bits, a simple fix would be to
> loop over bytes, use XOR and count ones. For extreme speedup create a
> lookup table with 256 entries to give you the answer straight away...

For extra obfscation:

  unsigned v = (unsigned)c;
  int num_bits = (v * 0x1001001001001ULL & 0x84210842108421ULL) % 0x1f;

(More more-or-less intelligent options at
http://graphics.stanford.edu/~seander/bithacks.html#CountBitsSetNaive :-) )

/* Steinar */
--
Homepage: http://www.sesse.net/

pgsql-performance by date:

Previous
From: Martijn van Oosterhout
Date:
Subject: Re: [GENERAL] Creation of tsearch2 index is very slow
Next
From: Tom Lane
Date:
Subject: Re: [GENERAL] Creation of tsearch2 index is very slow