Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
27 commits
Select commit Hold shift + click to select a range
54564be
feat: create `Pool::acquire()` benchmark
abonander Oct 29, 2025
ca53c5e
breaking(pool): use `usize` for all connection counts
abonander Oct 19, 2024
e6f0f3f
WIP pool changes
abonander Oct 19, 2024
fde66ea
fix(pool): spawn task for `before_acquire`
abonander Nov 8, 2024
bd60b11
refactor(pool): use a unique ID per connection
abonander Nov 8, 2024
922e273
fix(pool): add timeout to `return_to_pool()`
abonander Nov 8, 2024
f8c46d8
feat(pool): add more info to `impl Debug for PoolConnection`
abonander Nov 8, 2024
4f4bdad
fix: compilation error, warnings
abonander Nov 8, 2024
27adeec
chore: delete defunct use of `futures-intrusive`
abonander Nov 9, 2024
a4ba805
fix: upgrade `ease-off`
abonander Nov 9, 2024
e23134b
fix: tests
abonander Nov 9, 2024
45d3c90
fix(pool): don't stop emptying idle queue in `.close()`
abonander Nov 11, 2024
9d656c7
fix(pool): use the correct method in `try_min_connections`
abonander Nov 11, 2024
719643e
fix(pool): use `.fuse()`
abonander Nov 11, 2024
6c25bf0
fix(pool): tweaks and fixes
abonander Nov 11, 2024
e9ab0f7
fix: errors after rebasing
abonander Aug 22, 2025
39d19e8
fix errors after rebase
abonander Aug 29, 2025
d0538ad
feat: create sharding structure for pool
abonander Aug 20, 2025
bbdba3b
WIP feat: integrate sharding into pool
abonander Sep 3, 2025
c533de2
chore: `Cargo.lock` after rebase
abonander Sep 23, 2025
ca2a34b
fix: bugs in sharded pool
abonander Oct 29, 2025
5d31895
fix: debug timeouts in benchmark
abonander Oct 29, 2025
efb3d41
WIP refactor: replace sharding with single connection set
abonander Dec 1, 2025
cea5936
WIP refactor: simpler acquire strategy
abonander Jan 2, 2026
167d7dd
feat: add `tracing-flame` to `benches/any-pool`
abonander Jan 3, 2026
c49b8e7
WIP refactor: replace sharding with single connection set (5)
abonander Jan 5, 2026
9a00ffc
WIP refactor: replace sharding with single connection set (6)
abonander Jan 23, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
136 changes: 77 additions & 59 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

23 changes: 20 additions & 3 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -189,8 +189,10 @@ uuid = "1.1.2"

# Common utility crates
cfg-if = "1.0.0"
dotenvy = { version = "0.15.0", default-features = false }
thiserror = { version = "2.0.17", default-features = false, features = ["std"] }
dotenvy = { version = "0.15.7", default-features = false }
ease-off = "0.1.6"
rand = "0.8.5"

# Runtimes
[workspace.dependencies.async-global-executor]
Expand Down Expand Up @@ -222,7 +224,6 @@ sqlx-sqlite = { workspace = true, optional = true }
anyhow = "1.0.52"
time_ = { version = "0.3.2", package = "time" }
futures-util = { version = "0.3.19", default-features = false, features = ["alloc"] }
env_logger = "0.11"
async-std = { workspace = true, features = ["attributes"] }
tokio = { version = "1.15.0", features = ["full"] }
dotenvy = "0.15.0"
Expand All @@ -236,9 +237,13 @@ rand = "0.8.4"
rand_xoshiro = "0.6.0"
hex = "0.4.3"
tempfile = "3.10.1"
criterion = { version = "0.5.1", features = ["async_tokio"] }
criterion = { version = "0.7.0", features = ["async_tokio"] }
libsqlite3-sys = { version = "0.30.1" }

tracing = "0.1.41"
tracing-flame = "0.2.0"
tracing-subscriber = "0.3.20"

# If this is an unconditional dev-dependency then Cargo will *always* try to build `libsqlite3-sys`,
# even when SQLite isn't the intended test target, and fail if the build environment is not set up for compiling C code.
[target.'cfg(sqlite_test_sqlcipher)'.dev-dependencies]
Expand Down Expand Up @@ -454,3 +459,15 @@ required-features = ["postgres"]
name = "postgres-rustsec"
path = "tests/postgres/rustsec.rs"
required-features = ["postgres", "macros", "migrate"]

#
# Benches
#
[[bench]]
name = "any-pool"
path = "benches/any/pool.rs"
required-features = ["runtime-tokio", "any"]
harness = false

[profile.bench]
debug = true
Loading
Loading