{"id":18678996,"url":"https://github.com/jjyr/buddy-alloc","last_synced_at":"2025-04-05T21:09:46.111Z","repository":{"id":36939237,"uuid":"231690973","full_name":"jjyr/buddy-alloc","owner":"jjyr","description":"Buddy-alloc is a memory allocator for no-std Rust, used for embedded environments.","archived":false,"fork":false,"pushed_at":"2024-10-24T02:46:23.000Z","size":82,"stargazers_count":28,"open_issues_count":1,"forks_count":7,"subscribers_count":3,"default_branch":"master","last_synced_at":"2024-10-24T19:17:57.529Z","etag":null,"topics":["allocator","embedded","rust","rust-no-std"],"latest_commit_sha":null,"homepage":"","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jjyr.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"MIT-LICENSE.txt","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-01-04T01:19:03.000Z","updated_at":"2024-10-24T02:46:26.000Z","dependencies_parsed_at":"2024-06-21T09:00:18.452Z","dependency_job_id":"5be18e69-a830-4b0a-b3aa-c63e23205289","html_url":"https://github.com/jjyr/buddy-alloc","commit_stats":{"total_commits":43,"total_committers":2,"mean_commits":21.5,"dds":0.06976744186046513,"last_synced_commit":"02ba142a7de3e3d986a9317e3958abe87e2e7ebe"},"previous_names":[],"tags_count":7,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jjyr%2Fbuddy-alloc","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jjyr%2Fbuddy-alloc/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jjyr%2Fbuddy-alloc/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jjyr%2Fbuddy-alloc/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jjyr","download_url":"https://codeload.github.com/jjyr/buddy-alloc/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247399884,"owners_count":20932880,"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":["allocator","embedded","rust","rust-no-std"],"created_at":"2024-11-07T09:42:03.448Z","updated_at":"2025-04-05T21:09:46.088Z","avatar_url":"https://github.com/jjyr.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Buddy-alloc\n\n[![Crates.io](https://img.shields.io/crates/v/buddy-alloc.svg)](https://crates.io/crates/buddy-alloc)\n[![Downloads](https://img.shields.io/crates/d/buddy-alloc?style=flat-square)](https://crates.io/crates/buddy-alloc)\n\n\nBuddy-alloc is a memory allocator for no-std Rust, used for embedded environments.\n\n## Usage\n\nCheck [examples](https://github.com/jjyr/buddy-alloc/tree/master/examples) and [Rust Doc](https://docs.rs/buddy-alloc).\n\n* This allocator is combined by a link-list based fast allocator and a buddy allocator.\n* No syscalls, we assume the execution environment has no MMU, you need to pre-allocate the memory range for heaps.\n* No threadsafe supports; you need to implement locks on your own.\n\n## Why\n\nMy original intention is to enable `alloc` crate for no-std Rust in CKB-VM without introducing LibC.\nI choose the buddy allocation algorithm since it's simple, stable, and efficient enough.\nThis crate is designed to be used in general environment, it should be able to used in similar embedded environments.\n\n## License\n\nMIT\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjjyr%2Fbuddy-alloc","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjjyr%2Fbuddy-alloc","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjjyr%2Fbuddy-alloc/lists"}