编译器项目 – 代码夏令营

目前正在进行许多编译器项目。请联系 Jameson Nash 获取更多详细信息,并告诉我们您对这个贡献领域具体感兴趣的方面。这样,我们就可以更好地根据您的兴趣和技能定制您的项目。

预期成果:能够在 gdb 中查看更多变量、参数和对象细节 推荐技能:这些项目中的大部分都涉及算法工作,需要愿意并感兴趣地了解如何与大型系统集成。
难度:中等
导师Jameson NashGabriel Baraldi

提高测试覆盖率 (175 小时)

代码覆盖率报告显示了所有 Julia Stdlib 包的良好覆盖率,但并不完整。此外,覆盖率工具本身(–track-coverage 和 https://github.com/JuliaCI/Coverage.jl)可以进一步增强,例如提供更准确的语句覆盖率,或更高的精度。一个成功的项目可能会结合一些构建代码和查找他人代码中的错误。

另一个相关的子项目可能是探索将类型信息添加到覆盖率报告中?

推荐技能:注重细节,喜欢提交代码问题,以及破坏事物的能力。
联系方式:Jameson Nash

多线程改进项目 (每个 175 小时)

正在持续进行工作以提高正确性和线程化代码。以下是一些关于如何加入这项工作的简要想法

加入定期安排的多线程电话会议,以讨论 Julia 语言公共活动日历上的 #多线程 BoF 日历邀请 中的任何内容。

推荐技能:因项目而异,但通常需要一些多线程和 C 经验
联系方式:Jameson Nash

测试/性能基准测试自动化 (350 小时)

Nanosoldier.jl 项目(以及相关的 https://github.com/JuliaCI/BaseBenchmarks.jl)测试了一些更改对性能的影响。但是,仍然存在许多未涵盖的领域(例如编译时间),而其他领域则覆盖过度(大大增加了测试持续时间而没有带来任何好处),并且某些测试可能未针对统计功效进行适当配置。此外,当前的报告非常原始,只能进行基本的成对比较,而图表和其他交互式工具将更有价值。因此,对于暑期贡献者来说,这里会有很多很棒的项目可以解决!

预期成果:改进 Julia 的自动化测试/基准测试框架。技能:对 CI 系统感兴趣和/或有经验。难度:中等

联系方式:Jameson NashTim Besard