サイトアイコン Embarcadero RAD Studio, Delphi, & C++Builder Blogs

Delphi 10.4.2 コンパイラ速度の改善

1042 delphi compiler performance no text

先日 Delphi 10.4.2 Sydneyがリリースされました。 このリリースでは、新機能、機能改善に加えて、10.4.1よりもさらに多くの品質向上が行われており、洗練さと新機能を組み合わせた素晴らしいアップデートになっています。これは以前からDelphiをご利用いただいている開発者からも同じ評価をいただいております。

このブログでは、今回の10.4.2のアップデートの中で傑出した機能の1つである「Delphiのコンパイラ速度の改善」について紹介いたします。

コンパイラの速度の改善は、Andreas Hausladen 氏から提供された詳細なフィードバック情報と、彼が手掛けているIDE Fix Packの以前のバージョンでの修正の結果が部分的に反映されています。

以下は、IDE Fix Packからのフィードバック情報を基に今回修正されたリストです。

  1. FileSystem
  2. SearchUnitNameInNS
  3. GetUnitOf
  4. CacheControl
  5. FileNameStringFunctions
  6. KibitzIgnoreErrors
  7. RootTypeUnitList
  8. MapFile.fprintf
  9. Unit.RdName
  10. PrefetchToken
  11. StrLenCalls
  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

ほとんどの場合、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.

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)から行えます。

詳細については、以下の情報をご確認ください。

エンバカデロでは、10.4.2において行った作業について大きな成果を上げることができたと考えており、皆さんがこの新しいリリースをご活用いただけるものと期待しています。

モバイルバージョンを終了