poolshark

Crates.iopoolshark
lib.rspoolshark
version0.2.5
created_at2025-08-23 22:30:33.143227+00
updated_at2025-09-16 19:47:43.31588+00
descriptionThread safe object pool
homepage
repositoryhttps://github.com/estokes/poolshark
max_upload_size
id1807925
size65,669
Eric Stokes (estokes)

documentation

https://docs.rs/poolshark

README

Thead Safe Object Pool

This is a general purpose thread safe object pool that supports most data structures in the standard library, as well as many useful external data structures such as IndexMap, triomphe::Arc, etc.

It limits the pool size as well as the element size to prevent memory waste.

use std::sync::LazyLock;
use poolshark::Pool;

static POOL: LazyLock<Pool<Vec<String>>> = LazyLock::new(|| Pool::new(1024, 1024))

fn main() {
    let mut v = POOL.take();
    // do stuff with v
    drop(v) // v actually goes back into the pool
}
Commit count: 35

cargo fmt