A Packing Optimization

Semi-finalist 2023

Submitted by:Caio Model
Department:Computing Science
Faculty:Science

Picture a student preparing for an exam with far too many books to read that are scattered across various libraries on campus. Even worse, none of the books are available for borrowing, so the student has to go back and forth between libraries to read them. Some books are so essential that students repeatedly return to them for reference. For these books, they pause their studies to print a copy of the relevant chapters. The student packs these copies in a box next to their desk. This strategy reduces library visits and saves precious time.

Similarly, data can be copied and packed in computer memory to optimize computations. Once packed, data elements are stored close together in memory, making them faster to access. The catch is that copying is time-consuming for the computer.

In my research, I developed a method for automatically optimizing code through packing. This method identifies characteristics of beneficial opportunities for packing and weighs them against the cost of copying. Such optimization outperforms state-of-the-art optimizers and can be used synergistically with other optimizations for maximum performance.