CS 4121/5121
|
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.
Compilers are compared using the following criteria, listed in order of importance:
Compilers are evaluated using several Eta and Rho programs, testing both language features and performance. These benchmarks test the performance of arrays, loops, recursion, redundant computations, and more.
There were many excellent and impressive project submissions! The winning compiler for Spring 2026 was developed by the group of Anne Xia, Farhan Naqib, Matthew Kim, and Chloe Fischer. Among the compilers with the highest correctness, theirs generated the fastest code. They did an impressive job with robust testing, fuzzing, and creating tooling to benchmark and debug optimizations. Notable optimizations they implemented include function inlining, tail call optimizations, global value numbering, assembly level peephole optimizations, and move coalescing.
Honorable mentions go to four other groups:
Anthony Song, Eric Zhou, Gavin Chen, Timothy Li. Their compiler, written in Java, earned a high correctness score and on average generated the fastest code of any group. Optimizations they implemented include function inlining, constant propogation, constant folding, and assembly level peephole optimizations.
Rohen Giralt, Sophia Song, and Zhijia Ye. Their compiler, written in Kotlin, also had high correctness and frequently managed to optimize code better than anyone else. In addition to implementing many of the optimizations others did, they implemented assembly-level constant folding.
Bill Park, Grace Jin, Nick Regennitter, and Sebastian Jean-Francois. Their C++ compiler has wicked quick compile times, high correctness, and fast code. They implemented their compiler in only 9k lines of code!
Firdavs Yakubov, Joel Snyder, Mac Turner, and Raymond Lin. Their compiler, implemented in Java, was extremely correct and generated good code.
More detailed statistics are available.