- Delphi High Performance
- Primo? Gabrijelcic
- 324字
- 2021-06-24 19:23:03
Fine-Tuning the Code
I have stated repeatedly that the best way to improve code speed is to change the algorithm. Sometimes, however, this is just not possible because you are already using the best possible algorithm. It may also be completely impractical as changing the algorithm may require rewriting a large part of the program.
If this is the case and the code is still not running fast enough, we have multiple available options. We can start optimizing the program, by which I mean that we can start changing small parts of the program and replacing them with faster code. This is the topic of the chapter that you are currently reading.
Another option would be to rewrite a part of the program in assembler. Delphi offers quite decent support for that and we'll look into that possibility near the end of this chapter. We can also find a library that solves our problem. It could be written in an assembler or created by a compiler that produces faster code than Delphi—typically we don't care. We only have to know how to link it into our program and that will be the topic of Chapter 8, Using External Libraries.
The last option is to somehow split our problem into multiple parts and solve them in parallel. We'll dig into this approach in Chapters 5 to 7.
But first, fine-tuning the code, or how to make the program run faster with small changes. In this chapter, you'll find:
- How Delphi compiler settings can affect the program speed
- Why it is good to use local variables to store intermediate results
- How to work with the CPU window
- What happens behind the scenes when you work with different data types
- How to speed up the code by using RTL functions
- How to use an assembler to speed up the code
- How we can make SlowCode run even faster
- 大數據導論
- Access 2016數據庫技術及應用
- Mastering Machine Learning with R(Second Edition)
- Ceph源碼分析
- Scratch 3.0 藝術進階
- 數據庫原理與應用
- 探索新型智庫發展之路:藍迪國際智庫報告·2015(上冊)
- Visual Studio 2013 and .NET 4.5 Expert Cookbook
- 中文版Access 2007實例與操作
- Scratch 2.0 Game Development HOTSHOT
- 大數據測試技術:數據采集、分析與測試實踐(在線實驗+在線自測)
- 標簽類目體系:面向業務的數據資產設計方法論
- MySQL核心技術手冊
- Building Multicopter Video Drones
- 圖解LeetCode初級算法(Python版)