如何阅读开源项目:以 mimalloc 为例
外部仓库:microsoft/mimalloc
本地拉取:运行
bash scripts/fetch_mimalloc.sh(见 scripts/fetch_mimalloc.sh)
| # | 视频标题 | B站链接 | 状态 |
|---|---|---|---|
| 1 | 如何起手阅读一个开源项目?(mimalloc-1) | 📺 | ✅ |
| 2 | 从最近的heap入手(mimalloc-2) | 📺 | ✅ |
| 3 | 第二个数据结构-mi_page_t(mimalloc-3) | 📺 | ✅ |
| 4 | mi_malloc的实现细节(mimalloc-4) | 📺 | ✅ |
| 5 | mi_free的实现细节(mimalloc-5) | 📺 | ✅ |
┌─────────────────────────────────────────────────────────┐
│ Mimalloc 源码阅读路线 │
├─────────────────────────────────────────────────────────┤
│ │
│ Step 1: 阅读方法论 │
│ ├── 如何起手阅读一个开源项目 │
│ └── 学习源码阅读的正确姿势 │
│ │
│ Step 2: 核心数据结构 │
│ ├── 从最近的heap入手 │
│ └── 第二个数据结构-mi_page_t │
│ │
│ Step 3: 内存操作实现 │
│ ├── mi_malloc的实现细节 │
│ └── mi_free的实现细节 │
│ │
│ Step 4: 总结与扩展 │
│ └── 尝试阅读其他开源项目 │
│ │
└─────────────────────────────────────────────────────────┘
- 官方仓库: microsoft/mimalloc
- 本地拉取:
bash scripts/fetch_mimalloc.sh(拉取后在project/external/mimalloc/) - 论文: mimalloc: Free List Shuffling, Caching, Partial Coalescing, and Segregation
- UP主: 是的一个城管