Skip to content
/ sync_cow Public

Thread-safe clone-on-write container for fast concurrent writing and reading.

License

Notifications You must be signed in to change notification settings

w0xel/sync_cow

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

sync_cow

Crates.io Docs.rs CI Crates.io - License

GitHub open issues open pull requests

Thread-safe clone-on-write container for fast concurrent writing and reading.

SyncCow is a container for concurrent writing and reading of data. It's intended to be a faster alternative to std::sync::RwLock. Especially scenarios with many concurrent readers heavily benefit from SyncCow. Reading is guaranteed to be lock-less and return immediately. Writing is only blocked by other write-accesses, never by any read-access. A SyncCow with only one writer and arbitrary readers will never block. As SyncCow stores two copies of it's contained value and read values are handed out as std::sync::Arc, a program using SyncCow might have a higher memory-footprint compared to std::sync::RwLock.

Note that readers might read outdated data when using the SyncCow, as writing and reading concurrently is possible. If that is indesireable consider std::sync::RwLock.

Installation

Please use cargo-edit to always add the latest version of this library:

cargo add sync_cow

Examples

See the following examples:

License

Licensed under the

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you shall be licensed as above, without any additional terms or conditions.

Versioning

sync_cow strictly follows Semantic Versioning 2.0.0

This includes the Rust version requirement specified above.
Earlier Rust versions may be compatible, but this can change with minor or patch releases.

Which versions are affected by features and patches can be determined from the respective headings in CHANGELOG.md.


mooo

About

Thread-safe clone-on-write container for fast concurrent writing and reading.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages