Have an amazing solution built in RAD Studio? Let us know. Looking for discounts? Visit our Special Offers page!
DelphiRAD Studioニュース

RAD Studio 13.2 で導入予定:新世代の Linux Intel 64 ビット向け Delphi 開発

この記事は、 Marco Cantu氏によるblog記事「Coming in RAD Studio 13.2: A New Generation of Delphi Development for Linux Intel 64-bit」の抄訳です。

Linux Intel 64ビット版Delphi向けコンパイラとランタイムの開発状況について、いち早くご紹介します。

機能プレビュー: このブログ記事は、RAD Studioソフトウェアのプレリリース版に基づいており、エンバカデロの特別な許可を得て執筆されています。製品の正式リリースまでは、いかなる機能も確定していません。

エンバカデロでは、Linux Intel 64ビット版Delphiコンパイラの開発に力を入れています。現在のコンパイラは、かなり前にリリースされたLLVM 3.3をベースとしています。新しいコンパイラはLLVMバージョン20.1に移行し、Windows Arm64EC版Delphi向けRAD Studio 13.1で導入した汎用コンパイラバックエンドと同じものを使用します。

この作業は完了間近で、次期リリースで提供される予定ですが、単なる内部コンポーネントのアップデートではありません。多数のLLVMリリースをまたいでの移行には、コンパイラのフロントエンド、生成される中間表現、例外処理、リンク、デバッグ情報の変更が必要でした。その結果、より最新のLinuxツールチェーンが実現し、さらに重要なことに、新しいLLVMバージョンを継続的に採用することで、今後も継続的に改善していくことができます。

Linuxウェブサーバーとウェブサービスに重点を置いていますが、新しいコンパイラはFMXLinuxを使用したLinuxクライアントアプリケーション開発もサポートします。

新しいバックエンドとリンカー

改良されたコンパイラは、GNU goldリンカーに代わり、LLVMのLLDリンカーのカスタマイズ版を使用します。また、DWARF 2ではなくDWARF 5のデバッグ情報を生成します。デバッガーがソースコードの位置、変数、Delphiの型に関するより詳細な情報を受け取れるよう、コンパイラのフロントエンドにも同様の修正を加えました。

Delphi Linuxコンパイラは、32ビット版と64ビット版の両方の実行ファイルとして提供されます。つまり、64ビット版RAD Studio IDEから、Win64およびWindows Arm64ECプロジェクトに加え、Linux Intel 64ビットアプリケーションを直接ビルドできます。もちろん、32ビット版IDEも引き続き使用できます。 64ビット版では、大規模プロジェクトにおいて、コンパイラとIDEの両方で32ビットプロセスのアドレス空間の制限が解消されます。

64ビットIDEでDelphiアプリケーションにLinux 64ビットターゲットプラットフォームを追加する

最適化されたLinuxアプリケーション

このコンパイラの改良により、最新のLLVM最適化を活用できるようになりました。以前のコンパイラはコード生成にLLVMを使用していましたが、Delphiコードを新しいLLVM中間表現オプティマイザに通すことができませんでした。Delphi例外処理を含むフロントエンドを変更したことで、これらの最適化をリリースビルドに適用できるようになりました。

社内テストでは、いくつかの小規模ベンチマークで2~4倍の高速化が見られ、特定のケースではさらに大きな改善が見られました。もちろん、ベンチマークはアプリケーションではないため、結果はコードによって異なります。しかし、これは現在Linuxアプリケーションで使用しているのと同じDelphiソースコードから生成されたコードです(ほとんどの場合、Windowsターゲットでも使用できます)。

メモリ管理とLinuxベースライン

R&Dチームは、Linux Intel 64ビット版向けに、オプションのメモリマネージャとしてrpmallocも提供しています。rpmallocは、多数のスレッドが同時にメモリを割り当てる場合に特に優れたパフォーマンスを発揮します。パフォーマンスの向上は顕著ですが、一般的にメモリ使用量が多く、従来のDelphiのメモリマネージャのようなメモリリーク報告機能を提供しないため、すべてのアプリケーションにとって最適なソリューションとなることを意図したものではありません。

更新されたツールチェーンは、ランタイムベースラインとしてglibc 2.31を使用しています。そのため、このツールチェーンで作成されたアプリケーションは、古いLinuxディストリビューション(例えば、2020年にリリースされたUbuntu 20.04より前のバージョン)では動作しないことが想定されています。

新しいDelphi Linux

新しいLinuxコンパイラは、既存のコンパイラを完全に置き換える予定です。現在も開発とテストが進行中ですが、DelphiにおけるLinuxプラットフォームのサポートの改良には個人的に非常に満足しており、ベータテスターからも好意的なフィードバックをいただいています。なお、Delphi Linuxコンパイラは、DelphiおよびRAD StudioのEnterpriseとArchitect エディションでのみ利用可能です。

バージョン13.2では、さらに多くの新機能が追加されます。共有LLVM-20コンパイラの改善点については、別のブログ記事でご紹介する予定です。ご期待ください。

機能プレビュー: このブログ記事は、RAD Studioソフトウェアのプレリリース版に基づいており、Embarcaderoの特別な許可を得て作成されています。製品のGAリリースまでは、どの機能も確定していません。

Kai for RAD Studio is Now Available! Special Live Webinar: Introducing Kai - A New Chapter for RAD Studio RAD Studio 13.1 Florence Now Available

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

Leave a Reply

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

IN THE ARTICLES