Charles Hall bab06ed375 stateres: make separate O(n) instead of O(n^2)
This way my poor CPU only has to do ~600,000 iterations to resolve
Matrix HQ from scratch. The old algorithm required ~85,000,000,000.

As a treat, we can also drop the dependency on itertools.
2024-11-29 17:43:43 -05:00

47 lines
1.2 KiB
TOML

[package]
name = "ruma-state-res"
categories = ["api-bindings", "web-programming"]
keywords = ["matrix", "chat", "ruma"]
description = "An abstraction for Matrix state resolution."
homepage = "https://ruma.dev/"
repository = "https://github.com/ruma/ruma"
readme = "README.md"
license = "MIT"
version = "0.11.0"
edition = "2021"
rust-version = { workspace = true }
[package.metadata.docs.rs]
all-features = true
[features]
unstable-exhaustive-types = []
[dependencies]
futures-util = "0.3"
js_int = { workspace = true }
ruma-common = { workspace = true, features = ["api"] }
ruma-events = { workspace = true }
serde = { workspace = true }
serde_json = { workspace = true }
thiserror = { workspace = true }
tracing = { workspace = true }
# dev-dependencies can't be optional, so this is a regular dependency
criterion = { workspace = true, optional = true }
[dev-dependencies]
maplit = { workspace = true }
rand = { workspace = true }
ruma-events = { workspace = true, features = ["unstable-pdu"] }
tokio = { version = "1", features = ["rt", "macros"] }
tracing-subscriber = "0.3.16"
[[bench]]
name = "state_res_bench"
harness = false
required-features = ["criterion"]
[lints]
workspace = true