microsoft / microsoft/mimalloc

Open-sourcing the Whist mimalloc fork

Open
#695 1 comment 1 reaction 0 assignees View on GitHub

Nobody has claimed this yet.

stale
Dominant language
C
Stars
13.4k
Forks
1.2k
Avg merge
4d 45m
Merged PRs (30d)
13

Description

Hi all,

Phil here, I was one of the founders of @whisthq. We were building this low-latency browser streaming software, for which we used mimalloc to optimize our video pipeline. We had our own private mimalloc fork, which we had planned to eventually open-source. Today is that day, I guess.

Here's our public repo: https://github.com/whisthq/mimalloc

We shut down our company recently, unfortunately before bringing this code upstream ourselves, so I figured I'd share it with the mimalloc community here. Hopefully someone can bring some of those features into upstream if they are found to be valuable to the wider community. The README lists all the high-level features we built, primarily on macOS, and here they are for convenience:

Whist Changelog

  • Added mlock usage in _mi_os_commitx and mi_unix_mmap and munlock usage in _mi_os_commitx, mi_os_mem_free, mi_os_resetx, for macOS

  • Created a GitHub Actions workflow, build-and-publish-mimalloc.yml, to build, test and publish on macOS


That's it for me! Thank you all for making this project possible in the first place and hope some of our work can benefit someone else. Much open-source ❤️ from myself & the entire Whist team

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the linked Whist mimalloc repository and its README, then inspect the listed changes around _mi_os_commitx, mi_unix_mmap, mi_os_mem_free, and mi_os_resetx, along with build-and-publish-mimalloc.yml. The issue does not define which features should be upstreamed or provide acceptance criteria, so completion would require maintainer agreement on scope and a proposed design.

Written by the indexing model from the issue text.

Assessment

Tech stack
c, github-actions, macos
Domain
build-system, operating-systems
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Active
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.