{"id":13415611,"url":"https://github.com/DataDog/glommio","last_synced_at":"2025-03-14T23:30:57.905Z","repository":{"id":37740668,"uuid":"292381946","full_name":"DataDog/glommio","owner":"DataDog","description":"Glommio is a thread-per-core crate that makes writing highly parallel asynchronous applications in a thread-per-core architecture easier for rustaceans.","archived":false,"fork":false,"pushed_at":"2024-06-20T00:18:39.000Z","size":2308,"stargazers_count":3088,"open_issues_count":64,"forks_count":163,"subscribers_count":61,"default_branch":"master","last_synced_at":"2024-10-29T15:06:54.097Z","etag":null,"topics":["async","iouring","linux","rust","thread-per-core"],"latest_commit_sha":null,"homepage":"","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/DataDog.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE-3rdparty.sh","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-09-02T19:58:38.000Z","updated_at":"2024-10-29T07:17:05.000Z","dependencies_parsed_at":"2023-02-03T20:31:50.407Z","dependency_job_id":"b2e70f60-00bd-44b2-b8da-d9cebcff8fdf","html_url":"https://github.com/DataDog/glommio","commit_stats":{"total_commits":879,"total_committers":60,"mean_commits":14.65,"dds":0.6484641638225256,"last_synced_commit":"a14a8265875268f0ce324a6cdf90d481706c108e"},"previous_names":["datadog/scipio"],"tags_count":15,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataDog%2Fglommio","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataDog%2Fglommio/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataDog%2Fglommio/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataDog%2Fglommio/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/DataDog","download_url":"https://codeload.github.com/DataDog/glommio/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243112148,"owners_count":20238185,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["async","iouring","linux","rust","thread-per-core"],"created_at":"2024-07-30T21:00:50.741Z","updated_at":"2025-03-14T23:30:57.477Z","avatar_url":"https://github.com/DataDog.png","language":"Rust","readme":"# glommio\n\n[![crates.io](https://img.shields.io/crates/v/glommio)](https://crates.io/crates/glommio)\n[![docs.rs](https://docs.rs/glommio/badge.svg)](https://docs.rs/glommio/latest/glommio/)\n![license](https://img.shields.io/crates/l/glommio)\n[![project chat](https://img.shields.io/badge/zulip-join_chat-brightgreen.svg)](https://glommio.zulipchat.com)\n[![CI](https://github.com/DataDog/glommio/actions/workflows/ci.yml/badge.svg?branch=master)](https://github.com/DataDog/glommio/actions/workflows/ci.yml)\n\n## Join our Zulip community!\n\nIf you are interested in Glommio, consider joining our [Zulip](https://glommio.zulipchat.com) community. Tell us about\nexciting applications you are building, ask for help, or just chat with friends 😃\n\n## What is Glommio?\n\nGlommio (pronounced glo-mee-jow or |glomjəʊ|) is a Cooperative Thread-per-Core crate for Rust \u0026 Linux based\non `io_uring`. Like other rust asynchronous crates, it allows one to write asynchronous code that takes advantage of\nrust `async`/`await`, but unlike its counterparts, it doesn't use helper threads anywhere.\n\nUsing Glommio is not hard if you are familiar with rust async. All you have to do is:\n\n```rust\nuse glommio::prelude::*;\n\nLocalExecutorBuilder::default().spawn(|| async move {\n    /// your async code here\n})\n.expect(\"failed to spawn local executor\")\n.join();\n```\n\nFor more details check out our [docs page](https://docs.rs/glommio/latest/glommio/) and\nan [introductory article.](https://www.datadoghq.com/blog/engineering/introducing-glommio/)\n\n## Supported Rust Versions\n\nGlommio is built against the latest stable release. The minimum supported version is 1.65. The current Glommio version\nis not guaranteed to build on Rust versions earlier than the minimum supported version.\n\n## Supported Linux kernels\n\nGlommio requires a kernel with a recent enough `io_uring` support, at least current enough to run discovery probes. The\nminimum version at this time is 5.8.\n\nPlease also note Glommio requires at least 512 KiB of locked memory for `io_uring` to work. You can increase the\n`memlock` resource limit (rlimit) as follows:\n\n```sh\n$ vi /etc/security/limits.conf\n*    hard    memlock        512\n*    soft    memlock        512\n```\n\n\u003e Please note that 512 KiB is the minimum needed to spawn a single executor. Spawning multiple executors may require you\n\u003e to raise the limit accordingly.\n\nTo make the new limits effective, you need to log in to the machine again. You can verify that the limits are updated by\nrunning the following:\n\n```sh\n$ ulimit -l\n512\n```\n\n## Contributing\n\nSee [Contributing.](CONTRIBUTING.md)\n\n## License\n\nLicensed under either of\n\n* Apache License, Version 2.0 ([LICENSE-APACHE](LICENSE-APACHE) or http://www.apache.org/licenses/LICENSE-2.0)\n* MIT license ([LICENSE-MIT](LICENSE-MIT) or http://opensource.org/licenses/MIT)\n\nat your option.\n","funding_links":[],"categories":["Rust","Projects","库"],"sub_categories":["Storage engines \u003ca name=\"storage\"\u003e\u003c/a\u003e"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FDataDog%2Fglommio","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FDataDog%2Fglommio","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FDataDog%2Fglommio/lists"}