postage-rs VS concurrent-queue

Compare postage-rs vs concurrent-queue and see what are their differences.

postage-rs

The feature-rich, portable async channel library (by austinjones)

concurrent-queue

Concurrent multi-producer multi-consumer queue (by smol-rs)
Our great sponsors
  • WorkOS - The modern identity platform for B2B SaaS
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • SaaSHub - Software Alternatives and Reviews
postage-rs concurrent-queue
6 3
248 230
- 7.0%
0.0 7.1
over 1 year ago 2 days ago
Rust Rust
MIT License Apache License 2.0
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.

postage-rs

Posts with mentions or reviews of postage-rs. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2022-10-24.
  • Tachyonix: a very fast MPSC async bounded channel
    3 projects | /r/rust | 24 Oct 2022
    Here are a few things that I learned from writing postage that might be helpful: - Poll::Pending can cause subtle deadlock bugs. If a channel endpoint is going to return Poll::Pending, it needs to check conditions, register for notification, and then re-check those conditions before returning Pending. Otherwise, the endpoints could deadlock due to concurrent interactions between the channel state and the notifier. Here's an example fix on an mpsc channel: https://github.com/austinjones/postage-rs/commit/9d2ba3f83dcbbcef83c684462f5efc5b3e7681cc - The single-threaded cases around sender/receiver polls can be covered in unit tests. Tests can verify the poll result, as well as waker interactions. Here's an example: https://github.com/austinjones/postage-rs/blob/main/src/channels/mpsc.rs#L242
  • pub/sub Event bus in rust
    7 projects | /r/rust | 10 Oct 2022
  • The Tokio Upgrade from 0.2 to 1.x
    1 project | /r/rust | 12 Feb 2021
    I ran into the same thing with Stream - had tons of code that merged/mapped/filtered channel receivers. I ended up deciding to write an async channel library called postage to replace that functionality.
  • Announcing Postage, an async channel library
    2 projects | /r/rust | 29 Jan 2021
    In case anyone is late to the party, I published v0.4.0 with: - a dispatch channel (mpmc queue) - borrow_mut for the watch sender (so you can mutate the value stored in the channel) - .blocking_send() and .blocking_recv() - And a CI matrix, removing the 'beta' tag.
  • What's everyone working on this week (4/2021)?
    5 projects | /r/rust | 25 Jan 2021
    I'm working on postage, an async channel library. Postage provides mpsc/broadcast/watch/oneshot channels, as well as Sink and Stream combinators.

concurrent-queue

Posts with mentions or reviews of concurrent-queue. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-06-26.

What are some alternatives?

When comparing postage-rs and concurrent-queue you can also consider the following projects:

tokio - A runtime for writing reliable asynchronous applications with Rust. Provides I/O, networking, scheduling, timers, ...

socketioxide - A socket.io server implementation in Rust that integrates with the Tower ecosystem and the Tokio stack.

eat-apples-quick

quincy - QUIC-based VPN

fluid - The Fluid Programming Language

utoipa - Simple, Fast, Code first and Compile time generated OpenAPI documentation for Rust

pulsar - A modular and blazing fast runtime security tool for the IoT, powered by eBPF.

RustQuant - Rust library for quantitative finance.

zmq.rs - A native implementation of ØMQ in Rust

gpg-tui - Manage your GnuPG keys with ease! 🔐

envio - Envio is a command-line tool that simplifies the management of environment variables across multiple profiles. It allows users to easily switch between different configurations and apply them to their current environment [Moved to: https://github.com/envio-cli/envio]