Have an amazing solution built in RAD Studio? Let us know. Looking for discounts? Visit our Special Offers page!
DelphiNews

Delphi 10.4.2 Compiler Speed Improvements

10.4.2 Delphi compiler performance

Delphi 10.4.2 Sydney is out, and it is full of new features, fixes, and general quality improvements. I really do believe it is the perfect mix of polish and new features, and everyone I’ve talked to seems to agree. One of the stand-out features is the Delphi compiler speed improvements. There are mostly visible in the Win32 compiler and are partially the result of the details provided by Andreas Hausladen and the fixes in previous versions of his IDE Fix Pack.

Here is the list of fixes, just in case you were curious….

  1. FileSystem
  2. SearchUnitNameInNS
  3. GetUnitOf
  4. CacheControl
  5. FileNameStringFunctions
  6. KibitzIgnoreErrors
  7. RootTypeUnitList
  8. MapFile.fprintf
  9. Unit.RdName
  10. PrefetchToken
  11. StrLenCalls

(Note: Because of the nature of IDE Fix Pack, our implementation is different, but accomplishes the same goal.)

  1. WarnLoadResString
  2. DbkGetFileIndex
  3. UnlinkImports
  4. ResetUnits
  5. KibitzCompilerImplUnitReset
  6. UnlinkDuringCompile
  7. UnitFreeAll
  8. UnitFindByAlias
  9. SymLookupScope
  10. ImportedSymbol
  11. NoUnitDiscardAfterCompile
  1. SourceOutdated
  2. MapFileBuffer
  3. BackgroundCompilerFileExists
  4. DrcFileBuffer
  5. Package.CleanupSpeed
  6. Optimization
  7. FindPackage
  8. x64.JumpOpt
  9. x64.SymTabHashTable
  10. ReleaseUnusedMemory
  11. FileNameStringFunctions
  12. Memory.Shrink

Most of the time Delphi compiles really quickly, and depending on your code you may not see any performance improvements. I’ve tried some of my projects and didn’t see any changes. Matthias Eißing suggested he saw a significant speed-up compiling HeidiSQL, so I gave it a shot and made a video.

In summary the Win32 compile went from 5.5 seconds in 10.4.1 Rio to 3.3 seconds in 10.4.2. That is a 40% speed improvement.

A few other people have shared the speed improvements they discovered moving to 10.4.2 Sydney.

Adrian Gallero, project manager at TMS Software, showed compiling the million lines of code behind TMS FlexCel. It contains “lots of generics, a little more than 3000 units, multiple includes, cycles of units that use themselves recursively, and complex dependencies.” His compile-time went from 30 seconds in 10.3 Rio to 19 seconds in 10.4.2 Sydney.

I normally wait a while before adopting a new Delphi version, but given all the time I spend compiling FlexCel, I migrated to 10.4.2 yesterday.

I’m going to call RAD Studio Delphi 10.42 “the speedy supermodel release.” So many lovely subtle (and overt) tweaks to the UI and BOY DOES IT COMPILE FAST! It’s solid, contains a bunch of quality improvements, LSP is really kicking it now and the new ‘squiggly line’ choices for error insight and so on just add to the overall feel of solidity.

ianbarker_1412099228_43-6048013

Ian Barker
Embarcadero MVP

roman-kassebaum-embarcadero-technology-partner-and-mvp

Roman Kassebaum Embarcadero Technology Partner and MVP

Moving from Delphi 10.3.3 Rio to 10.4.2 Sydney the compile time for our 2.3 million lines of code dropped from a respectable 2.5 minutes to an incredible 1.5 minutes! This makes the turn-around times for daily work 40% faster!

My recommendation to all Delphi users is: Move to the latest version 10.4.2 Sydney immediately!

Wow. I am really impressed. This is the long-awaited Delphi 7 successor. The new gold standard. Compiling: Superspeed. Working on remote Desktop. Wow. Compilation in 10 seconds instead of 90 seconds. Loading huge forms without trouble.


Reduce development time and get to market faster with RAD Studio, Delphi, or C++Builder.
Design. Code. Compile. Deploy.
Start Free Trial   Upgrade Today

   Free Delphi Community Edition   Free C++Builder Community Edition

About author

Chief Developer Advocate for Embarcadero Technologies.
Related posts
DelphiIDENews

Code Insight Improvements in Delphi 10.4.2

IDENews

Helping the Linker: Split DWARF and Linker Memory Usage in C++Builder 10.4.2

News

Robust Exception Handling in C++Builder 10.4.2

News

Open Source C++ Libraries in C++Builder 10.4.2

1 Comment

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.

IN THE ARTICLES