This new version of Glommio brings new APIs, performance improvements, stability fixes, and refactoring, making Glommio's APIs more discoverable and closer to the other async crates such as async-std
or Tokio
.
Notable changes:
- #427, #480, #500: Executor builders are now more reliable and flexible;
- #412, #413 :
Task<T>::local()
andLocal::local()
are removed in favor of theglommio::spawn_*
set of free functions,glommio::executor()
is now the main way to interact with the executor; - #414: Closing a file now returns whether the underlying file descriptor was closed;
- #416:
read_many
now takes a stream as input instead of an iterator; - #460, #491:
read_many
is now able to limit concurrency based on in-flight IO memory and/or number of in-flight IO requests; - #497:
read_many
now uses better, system-specific IO coalescing defaults fromsysfs
; - #434: Foreign wakers now trigger a remote preemption, according to their latency requirements;
- #449, #474:
DmaStreamReader
may now be consumed trivially without copies; - #462:
GlommioStream
is reimplemented usingpoll+recv
for faster network IO; - #463: IO ring depth is now configurable;
- #469:
liburing
may now be vendored; - #476, #496: Glommio can now collect queued, IO, and scheduler latencies;
- #489: Glommio now detect the proper IO alignments based on
sysfs
values; - #499, #517: A stall detector can now collect stack traces of unyielding tasks;
- #501, #519:
spawn_blocking
is now the preferred way to schedule blocking operations;
Rust/Linux support:
The minimum supported kernel remains 5.8, and we now require at least Rust 1.58.
Contributors:
Andrey Lomakin <[email protected]>
Cody P Schafer <[email protected]>
David Blewett <[email protected]>
Duarte Nunes <[email protected]>
Glauber Costa <[email protected]>
Hippolyte Barraud <[email protected]>
jianghua <[email protected]>
laa <[email protected]>
Matthieu Le brazidec (r3v2d0g) <[email protected]>
Nikolay Kim <[email protected]>
Ruihang Xia <[email protected]>
Seiichi Uchida <[email protected]>
thirstycrow <[email protected]>
trtsl <[email protected]>
Yongsheng Xu <[email protected]>
Thank you to all our contributors!