{"id":22006661,"url":"https://github.com/gdcmarinho/smart-malloc","last_synced_at":"2025-03-23T06:45:08.170Z","repository":{"id":228510450,"uuid":"774168294","full_name":"gdcmarinho/smart-malloc","owner":"gdcmarinho","description":"Memory management library using Machine Learning","archived":false,"fork":false,"pushed_at":"2024-03-30T08:30:23.000Z","size":47,"stargazers_count":0,"open_issues_count":4,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2024-12-07T18:34:22.901Z","etag":null,"topics":["ai","alloc","allocation","arm","c","debug","h","iot","library","library-systems","malloc","memory","memory-allocation","memory-management","ram","research","safety","safety-monitoring","security","simple"],"latest_commit_sha":null,"homepage":"","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/gdcmarinho.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":".github/CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null}},"created_at":"2024-03-19T04:06:00.000Z","updated_at":"2024-03-30T23:21:29.000Z","dependencies_parsed_at":"2024-03-28T14:48:14.664Z","dependency_job_id":"1b778247-a5d4-4f23-b681-d9b6e4e0919c","html_url":"https://github.com/gdcmarinho/smart-malloc","commit_stats":null,"previous_names":["gdcmarinho/smart-malloc"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gdcmarinho%2Fsmart-malloc","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gdcmarinho%2Fsmart-malloc/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gdcmarinho%2Fsmart-malloc/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gdcmarinho%2Fsmart-malloc/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/gdcmarinho","download_url":"https://codeload.github.com/gdcmarinho/smart-malloc/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":236023140,"owners_count":19082749,"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":["ai","alloc","allocation","arm","c","debug","h","iot","library","library-systems","malloc","memory","memory-allocation","memory-management","ram","research","safety","safety-monitoring","security","simple"],"created_at":"2024-11-30T01:13:39.724Z","updated_at":"2025-01-28T13:41:44.784Z","avatar_url":"https://github.com/gdcmarinho.png","language":"C","readme":"\u003cdiv align=\"center\"\u003e\n    \u003cimg src=\"./.github/images/logo.png\" width=\"350px\"\u003e\n\u003c/div\u003e\n\n### Introduction\nsmart-malloc is a memory management library that uses overengineered and overheaded machine learning system to determine if it's a good idea to allocate or not a new memory block. It uses the ```sbrk()``` [POSIX interface](https://en.wikipedia.org/wiki/POSIX) to allocate new memory.\n\n### Use Cases\nAs already mentioned, smart-malloc has no intention to be a memory management library for all purposes. It has a really overengineered and overheaded machine learning system that works to detect and decide when it's time to free some memory block and if it's acceptable to allocate a new memory block.\n\nThe main point of smart-malloc is for reasearch and debugging, so, the use in production scenarios should be avoided.\n\n### Usage\nClone the repository and copy the smart_malloc.c and smart_malloc.h inside your project. Import the headers file:\n\n```c\n#include \"smart_malloc.h\"\n```\n\nand start using it:\n```c\nsmart_malloc(strlen(\"Hello World!\\n\") * 10);\n```\n\n### Wiki\nIf you're lost, you'll probably like our [wiki](https://github.com/gdcmarinho/smart-malloc/wiki) with a really detailed explanation about smart-malloc and memory management.\n\n### License\nsmart-malloc is open source and uses GPLv3. See the LICENSE file for more info.\n\n\u003ca href=\"https://www.gnu.org/licenses/gpl-3.0.html.en\"\u003e\n    \u003cimg src=\"./.github/images/gpl3.svg\" alt=\"GPLv3 license badge\" width=\"130\"\u003e\n\u003c/a\u003e","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgdcmarinho%2Fsmart-malloc","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgdcmarinho%2Fsmart-malloc","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgdcmarinho%2Fsmart-malloc/lists"}