{"id":19204722,"url":"https://github.com/hongtae/dkmalloc","last_synced_at":"2025-02-23T06:21:25.266Z","repository":{"id":33701412,"uuid":"37354529","full_name":"Hongtae/DKMalloc","owner":"Hongtae","description":"Fast and effective memory pool allocator for C / C++","archived":false,"fork":false,"pushed_at":"2019-04-15T06:19:43.000Z","size":49,"stargazers_count":1,"open_issues_count":0,"forks_count":2,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-01-04T14:45:30.399Z","etag":null,"topics":["cpp","memory-allocation","memory-allocator","memory-pool","memory-pool-allocator","optimized-memory"],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Hongtae.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}},"created_at":"2015-06-13T02:30:55.000Z","updated_at":"2024-12-05T11:27:50.000Z","dependencies_parsed_at":"2022-09-13T05:30:56.273Z","dependency_job_id":null,"html_url":"https://github.com/Hongtae/DKMalloc","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Hongtae%2FDKMalloc","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Hongtae%2FDKMalloc/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Hongtae%2FDKMalloc/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Hongtae%2FDKMalloc/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Hongtae","download_url":"https://codeload.github.com/Hongtae/DKMalloc/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":240276629,"owners_count":19775744,"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":["cpp","memory-allocation","memory-allocator","memory-pool","memory-pool-allocator","optimized-memory"],"created_at":"2024-11-09T13:09:31.205Z","updated_at":"2025-02-23T06:21:25.227Z","avatar_url":"https://github.com/Hongtae.png","language":"C++","readme":"# DKMalloc\nMemory pool allocator. C / C++.  \nOptimized for quick alloc, realloc, free.  \nThe allocated memory is always **16 bytes aligned**.\n\nYou can use DKMalloc for your project.  \nBuild DKMalloc as a shared library / DLL for C projects that can not use C\\++.  \n(essential functions are defined as C-linkage)\n\n\nThis is simplified 'Memory Allocator' part of DKGL.  \n Full version of DKGL: https://github.com/DKGL/DKGL  \n\n\n## Performance Test\n1. Choose which allocator to test.\n    - To test system default malloc with DKMalloc\n        1. Set 1 to TEST_SYSTEM_DEFAULT_MALLOC at **main.cpp** line **14**\n            ```cpp\n            #define TEST_SYSTEM_DEFAULT_MALLOC 1\n            ```\n    - To test **Intel TBB*** with DKMalloc\n        1. You have to install Intel TBB and set up header path\n        1. Set 1 to TEST_TBB_SCALABLE_ALLOCATOR at **main.cpp** line **15**        \n            ```cpp\n            #define TEST_TBB_SCALABLE_ALLOCATOR 1\n            ```\n        \n1. Decide testing for small blocks or large blocks at **main.cpp** line **17**\n    ```cpp\n    #define TEST_LARGE_BLOCKS 0\t // set 1 to test large-blocks\n    ```\n    - Set 0 to test small blocks (default)\n    - Set 1 to test large blocks\n    \n1. Adjust allocation unit count at **main.cpp** line **19** or **20**\n    - for testing small blocks (line 19)\n        ```cpp\n        #define NUM_ALLOCATIONS_SMALL_BLOCKS 20000000\t// num allocs for small blocks\n        ```\n    - for testing large blocks (line 20)\n        ```cpp\n        #define NUM_ALLOCATIONS_LARGE_BLOCKS 1000000\t// num allocs for large blocks\n        ```\n1. Build and Run with **X64 RELEASE MODE**\n\n## Platform\n- Windows (x86, x64)\n- Mac OS X\n- iOS\n- Android, Linux (NDK required)\n\n## Build environment\n- Visual Studio 2015 or later\n- Xcode 5 or later\n- C++11 compiler\n\n## License\nBSD 3\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhongtae%2Fdkmalloc","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhongtae%2Fdkmalloc","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhongtae%2Fdkmalloc/lists"}