Skip to content

v0.5.4

Choose a tag to compare

@ielashi ielashi released this 26 May 08:36
· 246 commits to main since this release
afa39e4

This release contains a number of performance improvements to BTreeMap, making it substantially more efficient.

  • perf: remove redundant node load from BTreeMap::remove by @ielashi in #78
  • perf: lazy loading of BTreeMap values by @ielashi in #79
  • perf: do not makes Bytes packed. by @ielashi in #80

Improvements have also been made to the README docs.

Full Changelog: v0.5.3...v0.5.4

Benchmark results showing the performance improvements between this version and the previous one:

btreemap_insert_blob_4_1024
                        time:   [902.82 M Instructions 902.82 M Instructions 902.82 M Instructions]
                        change: [-36.121% -36.121% -36.121%] (p = 0.00 < 0.05)
                        Performance has improved.

btreemap_insert_blob_8_1024
                        time:   [1040.8 M Instructions 1040.8 M Instructions 1040.8 M Instructions]
                        change: [-35.725% -35.725% -35.725%] (p = 0.00 < 0.05)
                        Performance has improved.

btreemap_insert_blob_16_1024
                        time:   [1136.5 M Instructions 1136.5 M Instructions 1136.5 M Instructions]
                        change: [-33.131% -33.131% -33.131%] (p = 0.00 < 0.05)
                        Performance has improved.

btreemap_insert_blob_32_1024
                        time:   [1180.3 M Instructions 1180.3 M Instructions 1180.3 M Instructions]
                        change: [-32.265% -32.265% -32.265%] (p = 0.00 < 0.05)
                        Performance has improved.

btreemap_insert_blob_64_1024
                        time:   [1420.0 M Instructions 1420.0 M Instructions 1420.0 M Instructions]
                        change: [-30.241% -30.241% -30.241%] (p = 0.00 < 0.05)
                        Performance has improved.

btreemap_insert_blob_128_1024
                        time:   [1679.8 M Instructions 1679.8 M Instructions 1679.8 M Instructions]
                        change: [-27.667% -27.667% -27.667%] (p = 0.00 < 0.05)
                        Performance has improved.

btreemap_insert_blob_256_1024
                        time:   [2196.8 M Instructions 2196.8 M Instructions 2196.8 M Instructions]
                        change: [-23.846% -23.846% -23.846%] (p = 0.00 < 0.05)
                        Performance has improved.

btreemap_insert_blob_512_1024
                        time:   [3257.9 M Instructions 3257.9 M Instructions 3257.9 M Instructions]
                        change: [-18.772% -18.772% -18.772%] (p = 0.00 < 0.05)
                        Performance has improved.

btreemap_insert_u64_u64 time:   [756.97 M Instructions 756.97 M Instructions 756.97 M Instructions]
                        change: [-19.881% -19.881% -19.881%] (p = 0.00 < 0.05)
                        Performance has improved.

btreemap_insert_u64_blob_8
                        time:   [729.82 M Instructions 729.82 M Instructions 729.82 M Instructions]
                        change: [-16.986% -16.986% -16.986%] (p = 0.00 < 0.05)
                        Performance has improved.

btreemap_insert_blob_8_u64
                        time:   [642.09 M Instructions 642.09 M Instructions 642.09 M Instructions]
                        change: [-26.375% -26.375% -26.375%] (p = 0.00 < 0.05)
                        Performance has improved.

btreemap_get_blob_4_1024
                        time:   [396.58 M Instructions 396.58 M Instructions 396.58 M Instructions]
                        change: [-69.977% -69.977% -69.977%] (p = 0.00 < 0.05)
                        Performance has improved.

btreemap_get_blob_8_1024
                        time:   [462.52 M Instructions 462.52 M Instructions 462.52 M Instructions]
                        change: [-64.833% -64.833% -64.833%] (p = 0.00 < 0.05)
                        Performance has improved.

btreemap_get_blob_16_1024
                        time:   [545.06 M Instructions 545.06 M Instructions 545.06 M Instructions]
                        change: [-60.784% -60.784% -60.784%] (p = 0.00 < 0.05)
                        Performance has improved.

btreemap_get_blob_32_1024
                        time:   [575.75 M Instructions 575.75 M Instructions 575.75 M Instructions]
                        change: [-60.758% -60.758% -60.758%] (p = 0.00 < 0.05)
                        Performance has improved.

btreemap_get_blob_64_1024
                        time:   [799.59 M Instructions 799.59 M Instructions 799.59 M Instructions]
                        change: [-53.474% -53.474% -53.474%] (p = 0.00 < 0.05)
                        Performance has improved.

btreemap_get_blob_128_1024
                        time:   [1021.2 M Instructions 1021.2 M Instructions 1021.2 M Instructions]
                        change: [-47.658% -47.658% -47.658%] (p = 0.00 < 0.05)
                        Performance has improved.

btreemap_get_u64_u64    time:   [393.51 M Instructions 393.51 M Instructions 393.51 M Instructions]
                        change: [-48.484% -48.484% -48.484%] (p = 0.00 < 0.05)
                        Performance has improved.

btreemap_get_u64_blob_8 time:   [389.66 M Instructions 389.66 M Instructions 389.66 M Instructions]
                        change: [-44.346% -44.346% -44.346%] (p = 0.00 < 0.05)
                        Performance has improved.

btreemap_get_blob_8_u64 time:   [407.98 M Instructions 407.98 M Instructions 407.98 M Instructions]
                        change: [-45.976% -45.976% -45.976%] (p = 0.00 < 0.05)
                        Performance has improved.

btreemap_get_blob_256_1024
                        time:   [1511.0 M Instructions 1511.0 M Instructions 1511.0 M Instructions]
                        change: [-38.501% -38.501% -38.501%] (p = 0.00 < 0.05)
                        Performance has improved.

btreemap_get_blob_512_1024
                        time:   [2476.6 M Instructions 2476.6 M Instructions 2476.6 M Instructions]
                        change: [-27.960% -27.960% -27.960%] (p = 0.00 < 0.05)
                        Performance has improved.

btreemap_remove_blob_4_1024
                        time:   [984.03 M Instructions 984.03 M Instructions 984.03 M Instructions]
                        change: [-57.642% -57.642% -57.642%] (p = 0.00 < 0.05)
                        Performance has improved.

btreemap_remove_blob_8_1024
                        time:   [1261.0 M Instructions 1261.0 M Instructions 1261.0 M Instructions]
                        change: [-52.544% -52.544% -52.544%] (p = 0.00 < 0.05)
                        Performance has improved.

btreemap_remove_blob_16_1024
                        time:   [1504.9 M Instructions 1504.9 M Instructions 1504.9 M Instructions]
                        change: [-49.345% -49.345% -49.345%] (p = 0.00 < 0.05)
                        Performance has improved.

btreemap_remove_blob_32_1024
                        time:   [1579.8 M Instructions 1579.8 M Instructions 1579.8 M Instructions]
                        change: [-48.328% -48.328% -48.328%] (p = 0.00 < 0.05)
                        Performance has improved.

btreemap_remove_blob_64_1024
                        time:   [1874.1 M Instructions 1874.1 M Instructions 1874.1 M Instructions]
                        change: [-46.512% -46.512% -46.512%] (p = 0.00 < 0.05)
                        Performance has improved.

btreemap_remove_blob_128_1024
                        time:   [2196.8 M Instructions 2196.8 M Instructions 2196.8 M Instructions]
                        change: [-45.162% -45.162% -45.162%] (p = 0.00 < 0.05)
                        Performance has improved.

btreemap_remove_blob_256_1024
                        time:   [2806.5 M Instructions 2806.5 M Instructions 2806.5 M Instructions]
                        change: [-44.361% -44.361% -44.361%] (p = 0.00 < 0.05)
                        Performance has improved.

btreemap_remove_u64_u64 time:   [1087.0 M Instructions 1087.0 M Instructions 1087.0 M Instructions]
                        change: [-36.420% -36.420% -36.420%] (p = 0.00 < 0.05)
                        Performance has improved.

btreemap_remove_u64_blob_8
                        time:   [1045.4 M Instructions 1045.4 M Instructions 1045.4 M Instructions]
                        change: [-34.480% -34.480% -34.480%] (p = 0.00 < 0.05)
                        Performance has improved.

btreemap_remove_blob_8_u64
                        time:   [858.01 M Instructions 858.01 M Instructions 858.01 M Instructions]
                        change: [-45.248% -45.248% -45.248%] (p = 0.00 < 0.05)
                        Performance has improved.