lucene-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Yonik Seeley" <>
Subject Re: OpenBitSet
Date Tue, 16 May 2006 02:53:59 GMT
On 5/14/06, eks dev <> wrote:
>   It is faster than BitSet, even against Mustang. The numbers are a bit less than on
Yonik's HW, but quite convincing.

The level of outperformance isn't quite as high on my work box, I
think because my home machine has higher memory bandwidth (both P4's
but mine has dual channel PC3200)

> I did small test on my XP Notebook (Pentium M 1.6GHz). Only "union" test is some 20%
slower on 8Mio size with 80k bits set. I did not dig deeper.

Weird... I'm not sure how that could be.  Are you sure you didn't get
the numbers reversed?
I just tried 1.6, and bitset/openbitset = 1.26 for me.
Are any memory controllers optimized for forward streaming more than
reverse?  My union loop counts down to zero, which is often faster
since the register status flags are already set as the result of the
decrement operation (hence avoiding an additional compare instruction
on most processor architectures, including x86).

$ c:/opt/jdk16/bin/java -version
java version "1.6.0-beta2"
Java(TM) SE Runtime Environment (build 1.6.0-beta2-b83)
Java HotSpot(TM) Client VM (build 1.6.0-beta2-b83, mixed mode, sharing)

Yonik@spidey /cygdrive/f/code/solr/classes
$ c:/opt/jdk16/bin/java -server -Xbatch org.apache.solr.util.BitSetPerf 1000000
 50 10000 union 3000 bit

Yonik@spidey /cygdrive/f/code/solr/classes
$ c:/opt/jdk16/bin/java -server -Xbatch org.apache.solr.util.BitSetPerf 1000000
 50 10000 union 3000 open

>As you all know Big majority of bit vectors usually met in practice
are very to modestly
> sparse due to Zipf…

Yeah, that's why I concentrated on performance of the dense bit
sets... when the set is sparse, bit sets take up too much room and
something else should be used anyway.

-Yonik Solr, the open-source Lucene search server

To unsubscribe, e-mail:
For additional commands, e-mail:

View raw message