microsoft / microsoft/mimalloc
Coroutine-based Isolation
- Dominant language
- C
- Stars
- 13.4k
- Forks
- 1.2k
- Avg merge
- 4d 45m
- Merged PRs (30d)
- 13
Description
my application servers (C++) run as single independent processes that parallelize over coroutines (suspending when they need to wait on some database or 3rd party api response).
so each coroutine only has a memory footprint (aka all the various function local data structures which contain mimalloc allocated dynamic memory down its live stack tree) as long as it's running or suspended, then all memory gets returned upon completion.
so i was thinking, it might be incredibly useful to have a coroutine based primitive / isolation option, as this would basically eliminate global memory fragmentation. (hinging on the fixed memory cost of doing so, and the computation required to build it up and tear it down on coroutine creation/destruction...?)
otherwise a single pool serving all coroutines will obviously become fractured over the lifetime of the process.
thoughts?
Contributor guide
No contributing guide indexed for this repository
Research direction
The issue names no files, tests, or entry points. It proposes coroutine-based memory isolation for C++ application servers using mimalloc, but does not define an implementation scope or acceptance criteria; the first step would be to determine which existing allocator mechanisms could support the proposal and what measurable result would constitute completion.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- c, cpp
- Domain
- operating-systems
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 20/100