I haven’t used the mpsc module (multi-producer single-consumer) myself, but an update like this seems like a good sign.
To lay out my reasoning: If the task remains the same, the implementation changes, and the API can remain the same — then the API is probably at the task level, and doesn’t make you think about the incidentals of its implementation. Which I have always appreciated, whenever I’ve coded using such modules.
mpsc has an interesting history, as far as I know this is like the third major implementation change for it. IIRC the first one was a ring buffer, the second was a linked list, the latest seems to be… different things depending on context? It’s a pretty cool example of crossbeam acting as a testbed for the std lib though.
It’s nice to see some new targets: AIX and PS1.
Small release but great nonetheless.
I love seeing internal improvements such as with
std::sync::mpsc
.I haven’t used the mpsc module (multi-producer single-consumer) myself, but an update like this seems like a good sign.
To lay out my reasoning: If the task remains the same, the implementation changes, and the API can remain the same — then the API is probably at the task level, and doesn’t make you think about the incidentals of its implementation. Which I have always appreciated, whenever I’ve coded using such modules.
mpsc
has an interesting history, as far as I know this is like the third major implementation change for it. IIRC the first one was a ring buffer, the second was a linked list, the latest seems to be… different things depending on context? It’s a pretty cool example ofcrossbeam
acting as a testbed for the std lib though.