Compiling and optimising - effects of different flags on performance of C(++) applications

It is usually the fact that when a C program is compiled using the /O1, /O2 or with another optimisation setting, the performance increases. But what exactly in that flag makes all the difference? Turns out that the answer is not that obvious.

Like Comment
Related Content

Report 5 - Compiling and optimising Laidlaw - my writeup on the research (and other aspects about this scholarship).

And there's a video (produced as part of my scholarship requirements), which can be seen below:


N/A, University of St Andrews

Hi, I'm Leaderboard. I'm a fourth year student (Senior Honours) studying Computer Science and Mathematics, and spent my third year abroad at Purdue University (Report 6 on GitHub describes my experience there!). My research interests lie in computer architecture, operating systems and compiler optimisations, and last summer I analysed the effects of compiler optimisations on the run-time performance of different applications. A write-up on this is available at

In the summer of 2020, I looked at the angle of multithreaded programs, which includes analysing OS schedulers and seeing their run-time impact on performance.