{"repo":"fereidani/kanal","free":true,"listed":false,"github":"https://github.com/fereidani/kanal","clone":"git clone https://github.com/fereidani/kanal.git","description":"The fast sync and async channel that Rust deserves","language":"Rust","stars":1754,"topics":["channel","concurrency","mpmc","oneshot","rust","synchronization","async","mpsc"],"license":"MIT","category":"dev-tools","readme_excerpt":"Kanal The fast sync and async channel that Rust deserves! [![Crates.io][crates-badge]][crates-url] [![Documentation][doc-badge]][doc-url] [![MIT licensed][mit-badge]][mit-url] [crates-badge]: https://img.shields.io/crates/v/kanal.svg?style=for-the-badge [crates-url]: https://crates.io/crates/kanal [mit-badge]: https://img.shields.io/badge/license-MIT-blue.svg?style=for-the-badge [mit-url]: https://github.com/fereidani/kanal/blob/main/LICENSE [doc-badge]: https://img.shields.io/docsrs/kanal?style=for-the-badge [doc-url]: https://docs.rs/kanal What is Kanal The Kanal library is a Rust implementation of channels inspired by the CSP (Communicating Sequential Processes) model. It aims to help programmers create efficient concurrent programs by providing multi-producer and multi-consumer channels with advanced features for fast communication. The library focuses on unifying message passing between synchronous and asynchronous parts of Rust code, offering a combination of synchronous and asynchronous APIs while maintaining high performance. Why Kanal is faster? 1. Kanal employs a highly optimized composite technique for the transfer of objects. When the data size is less than or equal to the pointer size, it utilizes serialization, encoding the data as the pointer address. Conversely, when the data size exceeds the pointer size, the protocol employs a strategy similar to that utilized by the Golang programming language, utilizing direct memory access to copy objects from the sender'","default_branch":null,"files":null,"tree":[],"storefront":"/r/fereidani","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/fereidani/kanal/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}