Optimize construction and insertion of large `SumTree`s (#7731)
This does two things: 1. It optimizes the constructions of `SumTree`s to not insert nodes one-by-one, but instead inserts them level-by-level. That makes it more efficient to construct large `SumTree`s. 2. It adds a `from_par_iter` constructor that parallelizes the construction of `SumTree`s. In combination, **loading a 500MB plain text file went from from ~18seconds down to ~2seconds**. Disclaimer: I didn't write any of this code, lol! It's all @as-cii and @nathansobo. Release Notes: - Improved performance when opening very large files. --------- Co-authored-by: Antonio Scandurra <me@as-cii.com> Co-authored-by: Julia <julia@zed.dev>
T
Thorsten Ball committed
33f713a8ab89bede6ce6e2c92a29c2f42486fcb5
Parent: 798c9a7
Committed by GitHub <noreply@github.com>
on 2/13/2024, 3:24:40 PM