SkillAgentSearch skills...

Glommio

Glommio is a thread-per-core crate that makes writing highly parallel asynchronous applications in a thread-per-core architecture easier for rustaceans.

Install / Use

/learn @glommio/Glommio
About this skill

Quality Score

0/100

Supported Platforms

Universal

README

glommio

<!--toc:start--> <!--toc:end-->

New Fork

Welcome to the new hard fork of Glommio. Some story why it was forked can be found here, while TL;DR is - in this fork we are going to keep glommio up to date with fresh versions of io_uring and other dependencies.

What is Glommio?

Glommio (pronounced glo-mee-jow or |glomjəʊ|) is a Cooperative Thread-per-Core crate for Rust & Linux based on io_uring. Like other rust asynchronous crates, it allows one to write asynchronous code that takes advantage of rust async/await, but unlike its counterparts, it doesn't use helper threads anywhere.

Using Glommio is not hard if you are familiar with rust async. All you have to do is:

use glommio::prelude::*;

LocalExecutorBuilder::default().spawn(|| async move {
    /// your async code here
})
.expect("failed to spawn local executor")
.join();

For more details check out our docs page and an introductory article.

Supported Rust Versions

Glommio is built against the latest stable release. The minimum supported version is 1.92. The current Glommio version is not guaranteed to build on Rust versions earlier than the minimum supported version.

Supported Linux kernels

Glommio requires a kernel with a recent enough io_uring support, at least current enough to run discovery probes. The minimum version at this time is 5.8.

Please also note Glommio requires at least 512 KiB of locked memory for io_uring to work. You can increase the memlock resource limit (rlimit) as follows:

$ vi /etc/security/limits.conf
*    hard    memlock        512
*    soft    memlock        512

Please note that 512 KiB is the minimum needed to spawn a single executor. Spawning multiple executors may require you to raise the limit accordingly.

To make the new limits effective, you need to log in to the machine again. You can verify that the limits are updated by running the following:

$ ulimit -l
512

Contributing

See

License

Licensed under either of

  • Apache License, Version 2.0 ( or http://www.apache.org/licenses/LICENSE-2.0)
  • MIT license ( or http://opensource.org/licenses/MIT)

at your option.

View on GitHub
GitHub Stars11
CategoryContent
Updated1d ago
Forks3

Languages

Rust

Security Score

75/100

Audited on Apr 2, 2026

No findings