MpMcQueue drop implementation is not optimized
还没有人认领这个 Issue。
评估
- 难度
- 3/5
- 预计耗时
- 1-2 天
- 新手友好度
- 35/100
- Issue 类型
- 重构
- 描述清晰度
- 基本清楚
- 活跃度
- 停滞
- 技术栈
- rust
调研方向
从 MpMcQueue 的 drop 实现开始,阅读 pull request 483 中链接的讨论,重点关注它目前为什么会调用正常的 dequeue 路径。当丢弃队列能够避免不必要的原子同步,同时保持正确的清理和行为时,这项工作就完成了。
由索引模型根据 Issue 内容生成。
描述
The MpMcQueue drop implementation is not optimized, as it uses the normal dequeue method, which assumes a shared reference and prevents race condition. drop gives us a mutable reference, which means that the implementation could skip the atomic operations, and all the care for synchronization.
See https://github.com/rust-embedded/heapless/pull/483#discussion_r1657140475
- 主要语言
- Rust
- 星标
- 2k
- 派生
- 257
- 平均合并
- 1 天 23 小时
- 30 天内合并 PR
- 2
环境准备
这个项目没有提供开发容器、Dockerfile 或贡献指南,环境需要你自己搭建:先看它的 README,通用步骤见我们的新手贡献指南。
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
rust-embedded/heapless 的其他 Issue
-
`Deque::make_contiguous` sets a wrong `back` for a wrapped, non-full deque: `len()` grows and elements are dropped twice可能已有人在做 @sgued 于 12 天前认领。 未关闭
难度 2/5 1-3 小时 新手友好度 84/100
rust-embedded/heapless#694 · 4 条评论 ·
-
`FromIterator` for `Deque`可能已有人在做 @ollien 于 91 天前认领。 未关闭
难度 2/5 1-3 小时 新手友好度 68/100
rust-embedded/heapless#683 ·
-
难度 5/5 一周以上 新手友好度 35/100
rust-embedded/heapless#699 ·
-
enhancement
难度 4/5 3-5 天 新手友好度 45/100
rust-embedded/heapless#681 ·
-
enhancement
难度 3/5 1-2 天 新手友好度 55/100
rust-embedded/heapless#653 · 1 条评论 ·
查看 rust-embedded/heapless 的全部 Issue
相似的 Issue
-
难度 2/5 1-3 小时 新手友好度 82/100
RustCrypto/utils#1597 ·
维护者通常 1 天内回复
-
难度 2/5 1-3 小时 新手友好度 68/100
维护者通常 1 天内回复
-
难度 2/5 1-3 小时 新手友好度 68/100
max-sixty/worktrunk#4727 · 7 条评论 · 1 个 reaction ·
维护者通常 1 天内回复
-
难度 2/5 1-3 小时 新手友好度 86/100
维护者通常 1 天内回复
-
follow-up
难度 2/5 1-3 小时 新手友好度 73/100
carrick-sh/carrick#1859 ·
维护者通常 1 天内回复