1515 */
1616package org .gephi .graph .impl ;
1717
18- import cern .colt .bitvector .BitVector ;
19- import cern .colt .bitvector .QuickBitVector ;
18+ import java .util .BitSet ;
2019import it .unimi .dsi .fastutil .objects .ObjectArrayList ;
2120import it .unimi .dsi .fastutil .objects .ObjectList ;
2221import it .unimi .dsi .fastutil .objects .ObjectLists ;
@@ -40,7 +39,7 @@ public class ColumnObserverImpl implements ColumnObserver {
4039 protected boolean destroyed ;
4140 // Config
4241 protected final boolean withDiff ;
43- protected BitVector bitVector ;
42+ protected BitSet bitVector ;
4443 // Cache
4544 protected ColumnDiffImpl columnDiff ;
4645
@@ -109,7 +108,7 @@ private void refreshDiff() {
109108 boolean node = AttributeUtils .isNodeColumn (column );
110109 columnDiff = node ? new NodeColumnDiffImpl () : new EdgeColumnDiffImpl ();
111110
112- int size = bitVector .size ();
111+ int size = bitVector .length ();
113112
114113 for (int i = 0 ; i < size ; i ++) {
115114 boolean t = bitVector .get (i );
@@ -179,19 +178,11 @@ public EdgeIterable getTouchedElements() {
179178 private void ensureVectorSize (ElementImpl element ) {
180179 int sid = element .getStoreId ();
181180 if (bitVector == null ) {
182- bitVector = new BitVector (sid + 1 );
183- } else if (sid >= bitVector .size ()) {
184- int newSize = Math .min (Math
181+ int initialSize = Math .min (Math
185182 .max (sid + 1 , (int ) (sid * GraphStoreConfiguration .COLUMNDIFF_GROWING_FACTOR )), Integer .MAX_VALUE );
186- bitVector = growBitVector ( bitVector , newSize );
183+ bitVector = new BitSet ( initialSize );
187184 }
188- }
189-
190- private BitVector growBitVector (BitVector bitVector , int size ) {
191- long [] elements = bitVector .elements ();
192- long [] newElements = QuickBitVector .makeBitVector (size , 1 );
193- System .arraycopy (elements , 0 , newElements , 0 , elements .length );
194- return new BitVector (newElements , size );
185+ // BitSet grows automatically when setting bits, no need to manually grow
195186 }
196187
197188 private void readLock () {
0 commit comments