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 <lomakin.andrey@gmail.com>
Cody P Schafer <dev@codyps.com>
David Blewett <david.blewett@datadoghq.com>
Duarte Nunes <duarte.nunes@datadoghq.com>
Glauber Costa <glauber@chiselstrike.com>
Hippolyte Barraud <hippolyte.barraud@datadoghq.com>
jianghua <jianghua@qiyi.com>
laa <lomakin.andrey@gmail.com>
Matthieu Le brazidec (r3v2d0g) <r3v2d0g@jesus.gg>
Nikolay Kim <fafhrd91@gmail.com>
Ruihang Xia <waynestxia@gmail.com>
Seiichi Uchida <topecongiro@fastmail.com>
thirstycrow <5451vs5451@gmail.com>
trtsl <69097508+trtsl@users.noreply.github.com>
Yongsheng Xu <chuxdesign@hotmail.com>
Thank you to all our contributors!