-
Notifications
You must be signed in to change notification settings - Fork 37
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 |