zed/crates/sum_tree/Cargo.toml
Thorsten Ball 33f713a8ab
Optimize construction and insertion of large SumTrees (#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>
2024-02-13 16:24:40 +01:00

21 lines
312 B
TOML

[package]
name = "sum_tree"
version = "0.1.0"
edition = "2021"
publish = false
license = "Apache-2.0"
[lib]
path = "src/sum_tree.rs"
doctest = false
[dependencies]
arrayvec = "0.7.1"
rayon = "1.8"
log.workspace = true
[dev-dependencies]
ctor.workspace = true
env_logger.workspace = true
rand.workspace = true