luoluoyuyu opened a new pull request, #575:
URL: https://github.com/apache/tsfile/pull/575

   Optimized: O(1) bulk bit ops, flat 2–3 ns.
   Unoptimized (Native): bit-by-bit mark/unmark, O(n) time, ≈1.8 µs at 1024 
bits.
   
   
   Benchmark                                       (len)  Mode  Cnt     Score   
  Error  Units
   BitMapBenchmark.markRange              1  avgt    5     2.087 ±   0.254  
ns/op
   BitMapBenchmark.markRange              2  avgt    5     2.095 ±   0.256  
ns/op
   BitMapBenchmark.markRange              4  avgt    5     2.115 ±   0.162  
ns/op
   BitMapBenchmark.markRange              8  avgt    5     2.103 ±   0.110  
ns/op
   BitMapBenchmark.markRange             16  avgt    5     2.195 ±   0.025  
ns/op
   BitMapBenchmark.markRange             32  avgt    5     2.406 ±   0.009  
ns/op
   BitMapBenchmark.markRange             64  avgt    5     2.412 ±   0.019  
ns/op
   BitMapBenchmark.markRange            128  avgt    5     3.207 ±   0.011  
ns/op
   BitMapBenchmark.markRange            256  avgt    5     3.221 ±   0.039  
ns/op
   BitMapBenchmark.markRange            512  avgt    5     3.218 ±   0.011  
ns/op
   BitMapBenchmark.markRange           1024  avgt    5     3.363 ±   0.051  
ns/op
   BitMapBenchmark.markRangeNative        1  avgt    5     1.918 ±   0.016  
ns/op
   BitMapBenchmark.markRangeNative        2  avgt    5     3.773 ±   0.231  
ns/op
   BitMapBenchmark.markRangeNative        4  avgt    5     7.376 ±   0.337  
ns/op
   BitMapBenchmark.markRangeNative        8  avgt    5    14.839 ±   0.958  
ns/op
   BitMapBenchmark.markRangeNative       16  avgt    5    15.782 ±   0.265  
ns/op
   BitMapBenchmark.markRangeNative       32  avgt    5    35.136 ±   2.760  
ns/op
   BitMapBenchmark.markRangeNative       64  avgt    5    74.027 ±   1.073  
ns/op
   BitMapBenchmark.markRangeNative      128  avgt    5   183.887 ±   5.462  
ns/op
   BitMapBenchmark.markRangeNative      256  avgt    5   421.424 ±  45.238  
ns/op
   BitMapBenchmark.markRangeNative      512  avgt    5   858.598 ±  61.117  
ns/op
   BitMapBenchmark.markRangeNative     1024  avgt    5  1840.542 ± 237.045  
ns/op
   BitMapBenchmark.merge                  1  avgt    5     2.360 ±   0.107  
ns/op
   BitMapBenchmark.merge                  2  avgt    5     2.358 ±   0.038  
ns/op
   BitMapBenchmark.merge                  4  avgt    5     2.345 ±   0.001  
ns/op
   BitMapBenchmark.merge                  8  avgt    5     3.093 ±   0.031  
ns/op
   BitMapBenchmark.merge                 16  avgt    5     3.122 ±   0.212  
ns/op
   BitMapBenchmark.merge                 32  avgt    5     5.627 ±   0.059  
ns/op
   BitMapBenchmark.merge                 64  avgt    5     7.969 ±   0.038  
ns/op
   BitMapBenchmark.merge                128  avgt    5    15.477 ±   0.399  
ns/op
   BitMapBenchmark.merge                256  avgt    5    30.616 ±   0.332  
ns/op
   BitMapBenchmark.merge                512  avgt    5    66.437 ±   0.941  
ns/op
   BitMapBenchmark.merge               1024  avgt    5   125.634 ±   2.399  
ns/op
   BitMapBenchmark.mergeNative            1  avgt    5     1.011 ±   0.103  
ns/op
   BitMapBenchmark.mergeNative            2  avgt    5     3.936 ±   0.444  
ns/op
   BitMapBenchmark.mergeNative            4  avgt    5     4.848 ±   0.037  
ns/op
   BitMapBenchmark.mergeNative            8  avgt    5    10.098 ±   0.711  
ns/op
   BitMapBenchmark.mergeNative           16  avgt    5    16.676 ±   1.106  
ns/op
   BitMapBenchmark.mergeNative           32  avgt    5    48.986 ±   2.203  
ns/op
   BitMapBenchmark.mergeNative           64  avgt    5    87.075 ±   9.431  
ns/op
   BitMapBenchmark.mergeNative          128  avgt    5   147.201 ±  20.776  
ns/op
   BitMapBenchmark.mergeNative          256  avgt    5   301.997 ±  27.788  
ns/op
   BitMapBenchmark.mergeNative          512  avgt    5   755.467 ±   9.501  
ns/op
   BitMapBenchmark.mergeNative         1024  avgt    5  1064.001 ±  29.296  
ns/op
   BitMapBenchmark.unmarkRange            1  avgt    5     2.174 ±   0.008  
ns/op
   BitMapBenchmark.unmarkRange            2  avgt    5     2.173 ±   0.008  
ns/op
   BitMapBenchmark.unmarkRange            4  avgt    5     2.173 ±   0.007  
ns/op
   BitMapBenchmark.unmarkRange            8  avgt    5     2.184 ±   0.032  
ns/op
   BitMapBenchmark.unmarkRange           16  avgt    5     2.187 ±   0.004  
ns/op
   BitMapBenchmark.unmarkRange           32  avgt    5     2.558 ±   0.086  
ns/op
   BitMapBenchmark.unmarkRange           64  avgt    5     2.410 ±   0.051  
ns/op
   BitMapBenchmark.unmarkRange          128  avgt    5     2.869 ±   0.099  
ns/op
   BitMapBenchmark.unmarkRange          256  avgt    5     3.240 ±   0.064  
ns/op
   BitMapBenchmark.unmarkRange          512  avgt    5     3.405 ±   0.811  
ns/op
   BitMapBenchmark.unmarkRange         1024  avgt    5     3.349 ±   0.037  
ns/op
   BitMapBenchmark.unmarkRangeNative      1  avgt    5     1.925 ±   0.012  
ns/op
   BitMapBenchmark.unmarkRangeNative      2  avgt    5     3.819 ±   0.162  
ns/op
   BitMapBenchmark.unmarkRangeNative      4  avgt    5     7.940 ±   1.119  
ns/op
   BitMapBenchmark.unmarkRangeNative      8  avgt    5    11.440 ±   0.219  
ns/op
   BitMapBenchmark.unmarkRangeNative     16  avgt    5    16.360 ±   1.900  
ns/op
   BitMapBenchmark.unmarkRangeNative     32  avgt    5    35.143 ±   0.991  
ns/op
   BitMapBenchmark.unmarkRangeNative     64  avgt    5    75.257 ±   0.285  
ns/op
   BitMapBenchmark.unmarkRangeNative    128  avgt    5   197.207 ±   5.872  
ns/op
   BitMapBenchmark.unmarkRangeNative    256  avgt    5   431.431 ±  14.840  
ns/op
   BitMapBenchmark.unmarkRangeNative    512  avgt    5   412.999 ±  51.569  
ns/op
   BitMapBenchmark.unmarkRangeNative   1024  avgt    5  1821.802 ± 114.809  
ns/op
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to