Understand the limitations of tachyonix
mainTachyonix is optimized for extreme speed in MPSC use-cases, but this involves specific trade-offs:
- No Fairness Guarantees: Fairness for blocked senders is not enforced. While the first sender blocked on a full channel is notified first, it may be outrun by another sender that is scheduled sooner. If you require strict fairness, use
tokioorfutureschannels. - Capacity Risk: The effective capacity of the channel decreases if blocked senders are "forgotten" (i.e., they were not polled to completion but were not dropped). This can eventually lead to a deadlock. If your application cannot guarantee sender completion, use
futureschannels. - No Zero-Capacity Channels: Rendez-vous channels (zero-capacity) are not supported.
- Unsafe Primitives: The low-level primitives rely on
unsafecode for performance.