Wednesday, June 21, 2023

Delphi High Performance, encore!

It is so interesting to publish a book for the second time. In a way it is similar to reviewing and fixing old code--you go from "well said, old man!" to a "what the #$%! were you thinking when you wrote that" in a matter of pages. It also helps if you do pair-programming have great technical reviewers that help by pointing out the latter and add frequent "this may be obvious to you but I have no idea what you've just said" comments.

Big thanks go to Bruce McGee and Stefan Glienke for improving this book! It would be worth at least a half "star" less without them.

Update: The book is now available on Amazon and Packt Publishing.

The second edition of Delphi High Performance--and I should probably start with that?--is about to be released! You can already preorder it on Amazon (or you can wait for the official release on June 30th). And, by the way, ignore the product details on that page where it says "351 pages". The book actually has 420 pages, or about 100 more than the first edition!

So, what is new? Firstly, the book was adapted to Delphi 11.3 Alexandria (but most of the examples will still work with Delphi XE and above). Secondly, explanations are clearer and contain less mistakes. And thirdly, there are two new chapters!

The first new chapter, Don't Reinvent, Reuse looks at the Spring4D collections, specifically in the new, soon-to-be-released-what-are-you-waiting-for-Stefan? 2.0 edition. Besides giving the overview of the collection hierarchy, the chapter looks at each collection and examines it from the big-O perspective. There is also a shorter section on trees and using Spring's Red-Black trees directly in your code, just because I love trees (and you should too!).

The second new chapter, More Parallel Patterns, follows the chapter that talks about Parallel Programming Library tasks and patterns and looks at the same topic from the OmniThreadLibrary eyes. This chapter describes most of the OTL's high-level patterns and gives an example on how to use each one. To complement that, the PPL chapter, Exploring Parallel Practices, got a whole new Pipeline implementation that is entirely PPL-based.

Is this enough to buy this book again? If you can afford it, sure! You will not be disappointed. I'm totally sure the book is worth it! (But, for the full disclosure, I may be biased.)


  1. Anonymous10:56

    Great news, Primoz! What do you think about the future of Delphi? In new stack overflow survey Delphi percent was not very impressive (around 3%) ( ). What technologies may bring fresh air to Delphi ? Not sure Android and iOS development in Delphi would be very common, but cross-platform desktop apps for Win/MasOS/Linux (and also impovement of C++ Builder) may add some value.

  2. I can genuinely recommend it.