Skip to content

Glommio v0.7.0

Latest
Compare
Choose a tag to compare
@HippoBaro HippoBaro released this 10 Feb 18:37
· 88 commits to master since this release

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() and Local::local() are removed in favor of the glommio::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 from sysfs;
  • #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 using poll+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!