objectpool 0.1.0

Yet another lock-free object pool, support no_std
Documentation

Yet another lock-free object pool, support no_std.

English | 简体中文

Features

  • Lock free, backed by concurrent safe queue.
  • Builtin reference counter, no Arc wrapper required.
  • Simple APIs and support no_std environment.
  • Automatically put object back to pool.

Installation

  • std

    [dependencies]
    objectpool = "0.1"
    
  • no_std

    [dependencies]
    objectpool = { version = "0.1", default-features = false, features = ["alloc"] }
    

Tests

  • test:

    cargo test
    
  • miri:

    cargo miri test
    
  • loom:

    cargo test --tests --features loom
    

Benchmarks

For detailed reports, you can see the latest Benchmark GitHub Action, and download the Artifacts.

cargo bench

Why this crate?

I need an object pool that supports the no_std environment. Unfortunately, none of the object-pool, lockfree-object-pool and sharded-slab support no_std.

License

objectpool is under the terms of both the MIT license and the Apache License (Version 2.0).

See LICENSE-APACHE, LICENSE-MIT for details.

Copyright (c) 2024 Al Liu.