microsoft / microsoft/mimalloc
Performance impact of mi_collect
Nobody has claimed this yet.
- Dominant language
- C
- Stars
- 13.4k
- Forks
- 1.2k
- Avg merge
- 4d 45m
- Merged PRs (30d)
- 13
Description
Greetings,
I have exact case described in mi_collect documentation: one long-running thread allocates enormous amount (from tens of thousands to hundreds of thousands per second) of small (1Kb-64Kb) blocks which are then processed/released by dozens of other worker threads.
What is the performance impact of calling mi_collect every 60 seconds?
What is the difference between force and non-force modes and their relative performance?
Is there a difference in performance that depends on thread calling mi_collect (thread that originally allocated memory vs unrelated housekeeping thread)?
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with the mi_collect documentation and its force and non-force modes. Reproduce the described allocation pattern, calling mi_collect every 60 seconds from allocating and housekeeping threads, and measure the relative impact. Done means the results and relevant conditions are documented for this workload.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- c
- Domain
- performance
- Issue type
- Documentation
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100