先日 Delphi 10.4.2 Sydneyがリリースされました。 このリリースでは、新機能、機能改善に加えて、10.4.1よりもさらに多くの品質向上が行われており、洗練さと新機能を組み合わせた素晴らしいアップデートになっています。これは以前からDelphiをご利用いただいている開発者からも同じ評価をいただいております。
このブログでは、今回の10.4.2のアップデートの中で傑出した機能の1つである「Delphiのコンパイラ速度の改善」について紹介いたします。
コンパイラの速度の改善は、Andreas Hausladen 氏から提供された詳細なフィードバック情報と、彼が手掛けているIDE Fix Packの以前のバージョンでの修正の結果が部分的に反映されています。
以下は、IDE Fix Packからのフィードバック情報を基に今回修正されたリストです。
- FileSystem
- SearchUnitNameInNS
- GetUnitOf
- CacheControl
- FileNameStringFunctions
- KibitzIgnoreErrors
- RootTypeUnitList
- MapFile.fprintf
- Unit.RdName
- PrefetchToken
- StrLenCalls
- WarnLoadResString
- DbkGetFileIndex
- UnlinkImports
- ResetUnits
- KibitzCompilerImplUnitReset
- UnlinkDuringCompile
- UnitFreeAll
- UnitFindByAlias
- SymLookupScope
- ImportedSymbol
- NoUnitDiscardAfterCompile
- SourceOutdated
- MapFileBuffer
- BackgroundCompilerFileExists
- DrcFileBuffer
- Package.CleanupSpeed
- Optimization
- FindPackage
- x64.JumpOpt
- x64.SymTabHashTable
- ReleaseUnusedMemory
- FileNameStringFunctions
- Memory.Shrink
ほとんどの場合、Delphiのコードは非常に高速にコンパイルされるため、コードによってはパフォーマンスの向上がそれほど顕著に見られない場合があります。いくつかのプロジェクトを試しましたが、大きな変化は見られませんでした。Matthias Eißing氏が、HeidiSQLのコンパイルが大幅に高速化したことを示唆していたので、試しに動画を作ってみました。
上記のビデオを要約すると、Delphiのコンパイル速度は、10.4.1あるいは10.3 Rioでは5.5秒だったのが、10.4.2では3.3秒になり、約40%の速度向上が見込めたという内容です。
他にも数人の著名なDelphi開発者が、10.4.2 Sydneyへ移行し、コンパイル速度の改善点に関してコメントをいただきましたので、共有させていただきます。
TMS SoftwareのプロジェクトマネージャであるAdrian Gallero 氏は、TMS FlexCel の背後にある100万行のコードをコンパイルするデモを公開してくれました。このコードには、「多数のジェネリック、3000 個以上のユニット、複数のインクルード、再帰的に使用されるユニットのサイクル、複雑な依存関係」が含まれています。これに要したコンパイル時間は、10.3 Rioでは30秒でしたが、10.4.2 Sydneyでは19秒になり、Matthias氏からの情報と同様、従来に比べてコンパイラ速度の改善されたことを裏付けています。
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.
Adrian Gallero
Project Manager
TMS Software
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.
Ian Barker
Embarcadero 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.
今すぐ10.4.2を使い始めよう
すでに、10.4.2のトライアル版が利用可能になっており、今後製品を購入いただくと、10.4.2をダウンロードいただけるようになります。また、すでに製品をお持ちの方は、有効なアップデートサブスクリプションがあれば、既存のライセンスを使用してRAD Studio 10.4.2をご利用いただけます。10.4.2のダウンロードは、新しいカスタマーポータルサイト(my.embarcadero.com)から行えます。
詳細については、以下の情報をご確認ください。
- RAD Studio 10.4.2 Sydney Release 2の提供開始を発表
- 10.4.2の新機能
- DocWikiの10.4.2新機能ページ
- RAD Studio 10.4.2 における新機能と修正された顧客から報告された問題
エンバカデロでは、10.4.2において行った作業について大きな成果を上げることができたと考えており、皆さんがこの新しいリリースをご活用いただけるものと期待しています。