|
|
@@ -1,4 +1,4 @@
|
|
|
-auto bv_size = 8000000;
|
|
|
+auto bv_size = 800000;
|
|
|
auto step = 1;
|
|
|
|
|
|
auto sqBitVect = blob((bv_size / 8) + 512);
|
|
|
@@ -60,43 +60,44 @@ print(sqBitVect.bitGet(bit_pos));
|
|
|
|
|
|
//return;
|
|
|
|
|
|
+ //BitVector is 1 based
|
|
|
auto bv = BitVector(bv_size);
|
|
|
print(bv);
|
|
|
|
|
|
auto start_milli = os.getmillicount();
|
|
|
|
|
|
-for(auto i=0; i < bv_size; i+=step) bv.set(i);
|
|
|
+for(auto i=1; i <= bv_size; i+=step) bv.set(i);
|
|
|
|
|
|
-print("Time spent", os.getmillicount() - start_milli);
|
|
|
+print("Time spent set bv", os.getmillicount() - start_milli);
|
|
|
start_milli = os.getmillicount();
|
|
|
|
|
|
-for(auto i=0; i < bv_size; i+=step) bv.test(i);
|
|
|
+for(auto i=1; i <= bv_size; i+=step) bv.test(i);
|
|
|
|
|
|
-print("Time spent", os.getmillicount() - start_milli);
|
|
|
+print("Time spent get bv", os.getmillicount() - start_milli);
|
|
|
|
|
|
start_milli = os.getmillicount();
|
|
|
|
|
|
for(auto i=0; i < bv_size; i+=step) bitSet(i);
|
|
|
|
|
|
-print("Time spent", os.getmillicount() - start_milli);
|
|
|
+print("Time spent set sq", os.getmillicount() - start_milli);
|
|
|
|
|
|
start_milli = os.getmillicount();
|
|
|
|
|
|
for(auto i=0; i < bv_size; i+=step) bitGet(i);
|
|
|
|
|
|
-print("Time spent", os.getmillicount() - start_milli);
|
|
|
+print("Time spent get sq", os.getmillicount() - start_milli);
|
|
|
|
|
|
start_milli = os.getmillicount();
|
|
|
|
|
|
for(auto i=0; i < bv_size; i+=step) sqBitVect.bitSet(i);
|
|
|
|
|
|
-print("Time spent", os.getmillicount() - start_milli);
|
|
|
+print("Time spent set blob", os.getmillicount() - start_milli);
|
|
|
|
|
|
start_milli = os.getmillicount();
|
|
|
|
|
|
for(auto i=0; i < bv_size; i+=step) sqBitVect.bitGet(i);
|
|
|
|
|
|
-print("Time spent", os.getmillicount() - start_milli);
|
|
|
+print("Time spent get blob", os.getmillicount() - start_milli);
|
|
|
|
|
|
start_milli = os.getmillicount();
|
|
|
auto cbitSet = sqBitVect.bitSet;
|
|
|
@@ -104,24 +105,40 @@ auto cbitGet = sqBitVect.bitGet;
|
|
|
|
|
|
for(auto i=0; i < bv_size; i+=step) rawcall(cbitSet, sqBitVect, i);
|
|
|
|
|
|
-print("Time spent", os.getmillicount() - start_milli);
|
|
|
+print("Time spent set rawcall blob", os.getmillicount() - start_milli);
|
|
|
|
|
|
start_milli = os.getmillicount();
|
|
|
|
|
|
for(auto i=0; i < bv_size; i+=step) rawcall(cbitGet, sqBitVect, i);
|
|
|
|
|
|
-print("Time spent", os.getmillicount() - start_milli);
|
|
|
+print("Time spent get rawcall blob", os.getmillicount() - start_milli);
|
|
|
+
|
|
|
+start_milli = os.getmillicount();
|
|
|
+cbitSet = BitVector.set;
|
|
|
+cbitGet = BitVector.test;
|
|
|
+print(cbitSet, cbitGet);
|
|
|
+//bv = BitVector(bv_size);
|
|
|
+
|
|
|
+for(auto i=1; i <= bv_size; i+=step) rawcall(cbitSet, bv, i);
|
|
|
+
|
|
|
+print("Time spent set rawcall bv", os.getmillicount() - start_milli);
|
|
|
+
|
|
|
+start_milli = os.getmillicount();
|
|
|
+
|
|
|
+for(auto i=1; i <= bv_size; i+=step) rawcall(cbitGet, bv, i);
|
|
|
+
|
|
|
+print("Time spent get rawcall bv", os.getmillicount() - start_milli);
|
|
|
|
|
|
bv = array(bv_size);
|
|
|
start_milli = os.getmillicount();
|
|
|
|
|
|
for(auto i=0; i < bv_size; i+=step) bv[i] = true;
|
|
|
|
|
|
-print("Time spent", os.getmillicount() - start_milli);
|
|
|
+print("Time spent set array", os.getmillicount() - start_milli);
|
|
|
|
|
|
|
|
|
start_milli = os.getmillicount();
|
|
|
|
|
|
for(auto i=0; i < bv_size; i+=step) bv[i];
|
|
|
|
|
|
-print("Time spent", os.getmillicount() - start_milli);
|
|
|
+print("Time spent get array", os.getmillicount() - start_milli);
|