Summary
The topic of this chapter was fine-tuning the code. We started with Delphi compiler settings which can, in some cases, significantly change the code execution speed, and we learned what those situations are.
Then I introduced a simple but effective optimization—extracting common expressions. This optimization served as an introduction to the CPU Window, which can help us analyze compiled Delphi code.
After that, I returned to basics. Creating a fast program means knowing how Delphi works and so I looked into built-in data types. We saw what is fast and what is not.
As a logical follow-up to data types, we looked into methods—what happens when you pass parameters to a method and how to speed that up. We also reviewed a few surprising implementation details which can create problems in your code.
I ended the chapter with three practical examples. Firstly, we used pointers to speed up bitmap processing. Next, a short section on assembler code has shown how to write a fast assembler replacement for Pascal code. In the end, we revisited the SlowCode program (which isn't so slow anymore) and made it even faster.
In the next chapter, we'll go even deeper. I'll explore the topic of memory managers—what and how they are and why it is important to know how the built-in memory manager in Delphi is implemented. As usual, we'll also optimize some code. So stay tuned!