Displaying 3 results from an estimated 3 matches for "elementlist".
2007 Sep 04
0
[LLVMdev] [PATCH]: Add SparseBitmap implementation
...space and
> time a lot by varying the element size down to 64
> I'm happy to give it a default value of 128.
Interesting. Out of curiosity, do you happen to know roughly the sizes
and sparsities where using 256-bit elements was faster?
Looking at the implementation a little more, I see ElementList is a list
of pointers to elements:
+ typedef std::list<SparseBitmapElement<ElementSize> *> ElementList;
The extra pointer indirection is unfortunate; It'd be nice to have just
a list of elements. I guess std::list's push_back always makes an
element copy, which might not be...
2007 Sep 04
2
[LLVMdev] [PATCH]: Add SparseBitmap implementation
...space and
time a lot by varying the element size down to 64
I'm happy to give it a default value of 128.
>
> > + bool AtEnd;
> > +
> > + SparseBitmap<ElementSize> &Bitmap;
> > +
> > + // Current element inside of bitmap
> > + ElementListConstIter Iter;
> > +
> > + // Current bit number inside of our bitmap
> > + unsigned BitNumber;
> > +
> > + // Current word number inside of our element
> > + unsigned WordNumber;
> > +
> > + // Current bits from the element....
2007 Sep 04
6
[LLVMdev] [PATCH]: Add SparseBitmap implementation
...random bit testing that the
grouping of bits helped.
At some point later, I introduced a sparse bitmap that is more memory
intensive but much faster at random bit testing, and it was a win here
as well, but not worth the memory cost :)
>
> Looking at the implementation a little more, I see ElementList is a list
> of pointers to elements:
>
> + typedef std::list<SparseBitmapElement<ElementSize> *> ElementList;
>
> The extra pointer indirection is unfortunate; It'd be nice to have just
> a list of elements. I guess std::list's push_back always makes an
>...