Software Optimization

David O. Topping, Michael Bane · 2022

The topics of software engineering and the software development life cycle are key to writing quality software. This chapter focuses on two key topics: portability and performance. It covers the software maintenance of codes used on many machines. Compilers typically offer different levels of compiler optimization with higher optimization levels providing the compiler more and more freedom to be more and more aggressive in their transformation of the original code to machine code that the processor core will execute. By use of profiling we can identify which routines or functions, or even lines of code, are taking the most time. Profiling involves using a profiler as a wrapper to obtain either deterministic or sampling data regarding the running code. The chapter presents a case study on speeding-up box model, droplet growth equation and so on.

Read the paper · More papers on PaperTik