This week on the lab class we dive into Lab 6, which is a little practice of Benchmarking. We were given a piece of code and we had to run it several times to see how many milliseconds it was taking in some of the functions. My teams and I already finish this lab, but I am still running it in both Aarch64 and x86_64 to see what is the difference between both servers. Once I gather all my data, I will share my findings.
For this week's lecture, we discuss the different ways that the compiler does optimization. There are several terms such as Strenght Reduction, Hoisting, Pre-calculation of Constants, Loop Unswitching, Lopp Splitting, Loop Interchange, Loop Unrolling, Inlining, Common Subexpression Elimination, Jump Threading, Short-Circuit Evaluation, Test Reordering, Dead Store Elimination and Machine-Code Level Optimization. For examples of every single one of them you can visit our wiki site (https://wiki.cdot.senecacollege.ca/wiki/Compiler_Optimizations#Block_Rearrangement)
Opmerkingen