2021 CS 4121/5121 Compiler Bakeoff
The “Best Compiler” title gives each member of the winning team both
bragging rights and an attractive plaque announcing their excellence in the
compiler-writing domain. PA6 submissions will be treated as submissions to
the contest; however, performance in the bakeoff does not affect course
grades.
Criteria
Compilers are compared using the following criteria, listed roughly in order
of importance:
- Correctness of generated code and of compile-time error checking.
- Speed of the generated code across a wide selection of benchmarks,
including object-oriented benchmarks.
- Length and clarity of the compiler implementation, and time required
to compile the benchmark programs.
Benchmarks
Compilers are evaluated using several Xi programs, testing both
language features and performance. These benchmarks test the performance of
arrays, loops, recursion, redundant computations, and more.
Result
There were many excellent project submissions, and it was difficult even to
narrow down the set to consider, let along pick one. The winning compiler
for Spring 2021 is the one developed by the group of Vaishnavi Gupta,
Felix Hohne, and Shiyuan Huang. Theirs was one of the most correct
compilers, yet also generated some of the best quality code.
Honorable mentions go to four other groups:
- Scott Bass, Michael Tobin, and Michael Maitland. Their compiler does a good job of
generating code that was both fast and correct.
- Kaya Ito Alpturer, Ritwick Bhargava, Charles Sherk, and Andrey Yao. Their compiler
includes impressive and effective optimizations.
- Woocheol Hyun, Max Ren, and Alexander Xue. Their compiler does an outstanding job of
generating correct code.
- Winston Chen, Susan Garry, James Gooding, and Henry Sanchez. Their compiler generates
good code and is highly correct, yet they wrote less than half
as much code (in Java!) as most other groups.
Past Bakeoff Results and Winners
- 2020: Aahil Awatramani, Jamal Hashim, Xiuyu Li, and Zheng Wang
- 2019: Aaron Lou, Zicen Pan, Iris Zheng, and Sam Zhou
- 2018: Drew Dunne, Jacob Glueck, Alex Libman, and Daniel Wisner
- 2016: Gary Zibrat, Anu Reddy, and Kavan Bhavin
- 2011: Stephen Gutz, Gautam Kamath, and Gregory Zecchini
- 2009: Owen Arden, Catalin Dumitriu, Wenzel Jakob, and Danfeng Zhang
- 2001:
Ben Hertzberg, Paul Jensen, Kay Tiong Khoo, and Chad Potocky
- 2000:
Hao Kung, Matt Harren, Jared Tolman, and King Lun Choi