Browse Source

Fix bitvector test

mingodad 7 years ago
parent
commit
02f0f01854
1 changed files with 30 additions and 13 deletions
  1. 30 13
      SquiLu/samples/test-bitvector.nut

+ 30 - 13
SquiLu/samples/test-bitvector.nut

@@ -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);