{"id":19382053,"url":"https://github.com/alpluspluss/jalloc","last_synced_at":"2025-10-25T22:47:54.272Z","repository":{"id":259196021,"uuid":"876553944","full_name":"alpluspluss/jalloc","owner":"alpluspluss","description":"Just an Allocator™ - A performant memory allocator in C/C++","archived":false,"fork":false,"pushed_at":"2024-10-24T17:25:52.000Z","size":89,"stargazers_count":1,"open_issues_count":1,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2024-10-25T04:21:38.794Z","etag":null,"topics":["allocator","cpp","performance"],"latest_commit_sha":null,"homepage":"","language":"C++","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/alpluspluss.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":".github/CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":".github/CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-10-22T07:02:21.000Z","updated_at":"2024-10-24T17:25:56.000Z","dependencies_parsed_at":"2024-10-28T09:29:23.651Z","dependency_job_id":"9720fd2a-1411-4ae9-a840-aa7cdb316a39","html_url":"https://github.com/alpluspluss/jalloc","commit_stats":null,"previous_names":["alpluspluss/allocator"],"tags_count":3,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alpluspluss%2Fjalloc","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alpluspluss%2Fjalloc/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alpluspluss%2Fjalloc/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alpluspluss%2Fjalloc/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/alpluspluss","download_url":"https://codeload.github.com/alpluspluss/jalloc/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":240518680,"owners_count":19814467,"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","cpp","performance"],"created_at":"2024-11-10T09:19:37.637Z","updated_at":"2025-10-25T22:47:49.223Z","avatar_url":"https://github.com/alpluspluss.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Archived Status\n\nThis project is archived and no longer maintained. It is kept here for historical purposes only.\nHowever, feel free to fork and continue development on your own.\n\n# Just an Allocator™\nIt allocates memory... efficiently™\n\n## What is it?\nIt's just a header file. That's it. No really:\n\n```c++\n#include \"jalloc.hpp\"\n```\nDone. You now have:\n- Thread-caching\n- Lock-free operations\n- SIMD-optimized memory operations\n- Bitmap-based block management\n- Three-tiered allocation strategy\n\nall in one header file.\n\n## Usage\n\n```c++\n#include \"jalloc.hpp\"\n\nint main() \n{\n    void* ptr = jalloc::allocate(64);        // Allocate 64 bytes\n    jalloc::deallocate(ptr);                 // Free memory\n\n    // Or with new/delete operators\n    int* arr = new int[100];\n    delete[] arr;\n\n    void* buf = jalloc::callocate(1, 64);    // Zero-initialized allocation\n    void* ptr2 = jalloc::reallocate(ptr, 128); // Resize allocation\n    \n    return 0;\n}\n```\n\n## Supported Platform Status\n| Platform | Architecture          | Status     |\n|----------|-----------------------|------------|\n| macOS    | Apple Silicon (ARM64) | Tested     |\n| macOS    | x86_64                | Not tested |\n| Linux    | x86_64                | Not tested |\n| Linux    | ARM64                 | Not tested |\n| Windows  | x86_64                | Not tested |\n\n### Note: GNU and Clang will be the only supported compilers.\n\n## Requirements\n- C++17 or later\n- C++ Compiler\n\n## Performance\n\n- SIMD instructions on all architectures enable bulk memory operations.\n- Bitmap-based block management minimizes overhead.\n- Three-tiered allocation strategy optimizes for small, medium, and large allocations.\n\nSee the [benchmarks](benches/benchmark.md) for performance data.\n\n## Current State\nCurrently, the allocator is in the development phase. It is not recommended for production use as some platform-specific\nfeatures are not yet fully tested and unsafe. Only ARM-based architecture is supported single-threaded.\n\n## Note\nThis is a work in progress. Please feel free to [contribute](.github/CONTRIBUTING.md).\n\n## License\nMIT. FYI, please see the [License](LICENSE).\n\n---\n*Remember: It's Just an Allocator™ - Any resemblance to a sophisticated memory management system is purely coincidental.*\n---\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falpluspluss%2Fjalloc","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Falpluspluss%2Fjalloc","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falpluspluss%2Fjalloc/lists"}