本仓库是为 2024 年北京大学图灵班轮转设计的实践项目,主要涉及程序优化工具 SuFu 的使用与改进。
程序的效率瓶颈往往在于对中间数据结构的操作,对应地,不恰当的数据结构会为程序带来巨大的时间开销。SuFu 是一个针对中间数据结构设计的程序优化器。给定一个参考的函数式程序与一些被标注的中间数据结构,SuFu 会使用常量时间的表达式重写与这些数据结构有关的操作,必要时对这些数据结构就行重构,从而达到程序优化的目的。
在这个项目中,我们设计了一系列编程任务来帮助参与者熟悉 SuFu 的使用、理解其原理,并了解其局限性。我们将这些任务按照难度分为了两个部分,第一部分 (Part1/Task.md
) 主要涉及 SuFu 的使用,而第二部分 (Part2/Task.md
) 会涉及到 SuFu 的原理。这两部分的文档中各包含着一些问题作为引导。
如果在项目过程中遇到了任何问题,请随时通过微信或者邮件 ([email protected]) 与负责的同学联系。