{"id":24468933,"url":"https://github.com/ivan-guerra/malloc","last_synced_at":"2026-04-22T23:34:48.177Z","repository":{"id":193177843,"uuid":"688280233","full_name":"ivan-guerra/malloc","owner":"ivan-guerra","description":"A Linux implementation of a memory allocator","archived":false,"fork":false,"pushed_at":"2023-09-10T05:33:49.000Z","size":25,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-06-29T21:37:42.906Z","etag":null,"topics":["linux","malloc","memory-management"],"latest_commit_sha":null,"homepage":"https://programmador.com/posts/2023/a-beginners-memory-allocator/","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/ivan-guerra.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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,"zenodo":null}},"created_at":"2023-09-07T02:56:38.000Z","updated_at":"2024-07-07T02:29:14.000Z","dependencies_parsed_at":null,"dependency_job_id":"194bfc78-a805-4b82-ad1c-2f58117c482d","html_url":"https://github.com/ivan-guerra/malloc","commit_stats":null,"previous_names":["ivan-guerra/malloc"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/ivan-guerra/malloc","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ivan-guerra%2Fmalloc","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ivan-guerra%2Fmalloc/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ivan-guerra%2Fmalloc/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ivan-guerra%2Fmalloc/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ivan-guerra","download_url":"https://codeload.github.com/ivan-guerra/malloc/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ivan-guerra%2Fmalloc/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32159959,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-22T17:06:48.269Z","status":"ssl_error","status_checked_at":"2026-04-22T17:06:19.037Z","response_time":58,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":["linux","malloc","memory-management"],"created_at":"2025-01-21T07:13:32.675Z","updated_at":"2026-04-22T23:34:48.171Z","avatar_url":"https://github.com/ivan-guerra.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# malloc\n\nThis project includes a header-only implementation of a barebones memory\nallocator. The allocator uses [mmap][1] under the hood to acquire a pool of\nmemory from the OS. All user requests and bookkeeping data structures are\nmaintained within this mmaped memory region. When servicing allocation requests,\na first fit algorithm is used to find free blocks. Upon the release of memory\nblocks, memory is automatically compacted.\n\n### Building\n\nTo build the project locally, you will need the following libraries and tools\ninstalled:\n\n* CMake3.27+\n* C++ compiler supporting C++20 features\n* [Doxygen][2]\n\nTo build the project, change directory to the `scripts/` directory and run\n`build.sh`.\n\n### Running the Tests\n\n`malloc` has been unit tested using the GoogleTest framework in conjunction with\n`ctest`. To run the tests, build the project and change directory to\n`malloc/build/`.  Run `ctest` to execute all unit tests.\n\n### Doxygen Docs\n\nThe `malloc` API is documented using Doxygen. Doxygen docs are built\nautomatically by the build script. Docs can be found under\n`malloc/docs/malloc/`.\n\n[1]: https://linux.die.net/man/2/mmap\n[2]: https://www.doxygen.nl/\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fivan-guerra%2Fmalloc","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fivan-guerra%2Fmalloc","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fivan-guerra%2Fmalloc/lists"}