-
Notifications
You must be signed in to change notification settings - Fork 45
Performance optimization by deferred deserialization
Chen Huajun edited this page Oct 10, 2020
·
3 revisions
pg_roaringbitmap v0.5.2 optimized performance of some functions through deferred deserialization, that is, use new roaring_buffer_t instead of roaring_bitmap_t.
Refer to below for the effect of optimization
benchmark/benchmark.sql
| No | test | v0.5.1(ms) | v0.5.2(ms) |
|---|---|---|---|
| 1 | rb_and_1 | 186.808 | 158.392 |
| 2 | rb_and_2 | 205.653 | 64.741 |
| 3 | rb_or_1 | 217.008 | 101.657 |
| 4 | rb_or_2 | 155.667 | 65.872 |
| 5 | rb_xor_1 | 266.933 | 111.47 |
| 6 | rb_xor_2 | 437.087 | 236.536 |
| 7 | rb_andnot_1 | 152.366 | 85.031 |
| 8 | rb_andnot_2 | 177.482 | 50.528 |
| 9 | rb_add | 109.252 | 67.742 |
| 10 | rb_contains_1 | 156.08 | 5.248 |
| 11 | rb_contains_2 | 177.243 | 28.861 |
| 12 | rb_contains_3 | 127.605 | 21.818 |
| 13 | rb_intersect_1 | 10.558 | 3.474 |
| 14 | rb_intersect_2 | 60.136 | 18.502 |
| 15 | rb_equals_1 | 11.616 | 3.445 |
| 16 | rb_equals_2 | 81.01 | 17.533 |
| 17 | rb_andnot_1 | 163.378 | 88.159 |
| 18 | rb_andnot_2 | 102.951 | 53.082 |
| 19 | rb_index_1 | 93.413 | 18.91 |
| 20 | rb_cardinality_1 | 89.545 | 27.521 |
| 21 | rb_and_cardinality_1 | 151.704 | 86.746 |
| 22 | rb_and_cardinality_2 | 96.901 | 33.94 |
| 23 | rb_or_cardinality_1 | 107.328 | 83.086 |
| 24 | rb_or_cardinality_2 | 43.405 | 48.706 |
| 25 | rb_xor_cardinality_1 | 95.664 | 79.639 |
| 26 | rb_xor_cardinality_2 | 83.32 | 38.438 |
| 27 | rb_andnot_cardinality_1 | 89.864 | 78.376 |
| 28 | rb_andnot_cardinality_2 | 96.584 | 54.209 |
| 29 | rb_is_empty_1 | 75.312 | 22.18 |
| 30 | rb_range_1 | 28.516 | 38.503 |
| 31 | rb_range_cardinality_1 | 76.501 | 110.586 |
| 32 | rb_min_1 | 38.235 | 20.497 |
| 33 | rb_max_1 | 57.786 | 17.423 |
| 34 | rb_rank_1 | 52.568 | 27.182 |
| 35 | rb_jaccard_dist_1 | 111.118 | 74.05 |
| 36 | rb_jaccard_dist_2 | 60.378 | 26.698 |
| 37 | rb_to_array_1 | 88.361 | 140.412 |
| 38 | rb_iterate_1 | 78.836 | 96.115 |
| 39 | rb_build_agg_1 | 236.013 | 267.927 |
| 40 | rb_or_agg_1 | 29.846 | 32.957 |
| 41 | rb_and_agg_1 | 1.379 | 1.262 |
| 42 | rb_xor_agg_1 | 28.762 | 34.628 |
| 43 | rb_or_cardinality_agg_1 | 27.907 | 33.042 |
| 44 | rb_and_cardinality_agg_1 | 1.341 | 1.37 |
| 45 | rb_xor_cardinality_agg_1 | 33.459 | 31.767 |