Delphi 10.4.2 Sydney is uit, en het staat vol met nieuwe functies, repareerten algemene kwaliteitsverbeteringen. Ik geloof echt dat het de perfecte mix is van oppoetsen en nieuwe functies, en iedereen die ik heb gesproken lijkt het daarmee eens te zijn. Een van de opvallende functies is de snelheidsverbetering van de Delphi compiler. Deze zijn vooral zichtbaar in de Win32 compiler en zijn gedeeltelijk het resultaat van de details die Andreas Hausladen heeft gegeven en de fixes in eerdere versies van zijn IDE Herstelpakket.
Hier is de lijst met oplossingen, voor het geval je nieuwsgierig was....
- Bestandssysteem
- ZoekUnitNaamInNS
- GetUnitOf
- CacheControl
- BestandsNaamStringFuncties
- KibitzIgnoreErrors
- RootTypeUnitList
- MapBestand.fprintf
- Unit.RdNaam
- PrefetchToken
- StrLenCalls
(Opmerking: Door de aard van IDE Fix Pack is onze implementatie anders, maar wordt hetzelfde doel bereikt).
- WarnLoadResString
- DbkGetFileIndex
- UnlinkImports
- ResetUnits
- KibitzCompilerImplUnitReset
- UnlinkDuringCompile
- UnitVrijAl
- UnitFindByAlias
- SymLookupScope
- GeïmporteerdSymbool
- NoUnitDiscardAfterCompile
- BronOutdated
- MapBestandBuffer
- BackgroundCompilerFileExists
- DrcFileBuffer
- Pakket.OpruimSnelheid
- Optimalisatie
- Zoek pakket
- x64.JumpOpt
- x64.SymTabHashTable
- ReleaseUnusedMemory
- BestandsNaamStringFuncties
- Geheugen.krimpen
Meestal compileert Delphi heel snel en afhankelijk van je code zie je misschien geen prestatieverbeteringen. Ik heb enkele van mijn projecten geprobeerd en zag geen veranderingen. Matthias Eißing suggereerde dat hij een aanzienlijke versnelling zag bij het compileren van HeidiSQLdus ik heb het geprobeerd en een video gemaakt.
Samengevat ging het compileren van Win32 van 5,5 seconden in 10.4.1 Rio naar 3,3 seconden in 10.4.2. Dat is een snelheidsverbetering van 40%.
Een paar andere mensen hebben de snelheidsverbeteringen gedeeld die ze hebben ontdekt bij de overstap naar 10.4.2 Sydney.
Adrian Gallero, projectmanager bij TMS Software, toonde het compileren van de miljoen regels code achter TMS FlexCel. Het bevat "veel generics, iets meer dan 3000 units, meerdere includes, cycli van units die zichzelf recursief gebruiken en complexe afhankelijkheden". Zijn compileertijd ging van 30 seconden in 10.3 Rio naar 19 seconden in 10.4.2 Sydney.

