kledgeb UbuntuやLinuxの最新情報を紹介

Linux その85 - GNOME Softwareの起動時間改善・起動時間が約半分に

GNOME Softwareの起動時間改善

「GNOME 40」の「GNOME Software」は起動時間が改善され、今までの約半分の時間で起動するようになりました。


  • GNOME Software performance in GNOME 40

libxmlb周りのプロファイリング

開発者は「GNOME Software」が使用している「libxmlb」周りの処理に焦点をあて、プロファイリングを実施しました。
プロファイリングにより、どの処理に大きなコストがかかっているのかを視覚化できます。

AppStreamからアプリの情報を取得

「GNOME Software」はUIに表示するアプリの情報を「AppStream」から取得しています。

  • AppStream

「GNOME Software」は「AppStream」のデータに対しクエリー(問い合わせ)を行い、様々なアプリの情報(メタデータ)を取得しています。
しかし「AppStream」はアプリの情報をXMLファイルで提供しており、直接XMLに対してクエリーを実行すると処理に大きなコストがかかります。

そこで「GNOME Software」は「libxmlb」を利用してXMLファイルからキャッシュを構築し、XMLのクエリーを高速化しています。

  • libxmlb

「GNOME Software」は「libxmlb」を経由してそのキャッシュからアプリの情報を取得することになります。
もちろん「AppStream」のデータが変更されれば、キャッシュもアップデートする必要があります。

起動時、大量のクエリーを実行する

さて「GNOME Software」は起動時、多くのアプリをユーザーに表示するため大量のXMLクエリーを実行し、アプリの表示に必要な情報を読み込んでいます。
起動時間を短縮する方法の1つに、クエリーの実行数を減らす方法があります。
この種の最適化はすでに過去に実施されており、同種のさらなる最適化は難しそうです。

クエリー速度の向上

そこで今回クエリーの実行速度そのものを向上させる方法に着目し、クエリーの最適化が実施されました。
クエリー実行時に今までヒープに割り当てていた処理をスタックに割り当てることで、メモリー周りの処理コストを削減しています。


起動時間が半分に

クエリー処理を見直した結果、キャッシュが変更されてから「GNOME Software」を初めて起動する際、「GNOME Software」の起動にかかる時間が今までの約半分に短縮されました。
開発者のテストでは、最適化する前は「GNOME Software」の起動に25秒かかっていましたが、この時間が12秒に短縮されました。(-52%)

キャッシュは日々1、2回変更される可能性があり、このケースは「GNOME Software」においてよくあるケースであるとのことです。

Linux
スポンサー
コメント
コメントポリシー
コメントをする前に UbuntuのCode of Conduct(CoC/行動規範) を確認し、CoCに沿ったコメントをお願いします。
コメントの使い方は、コメントの使い方を参照してください。
同一カテゴリーの記事
SNS
人気の記事
  • Linux その450 - Canonical LXD や MicroCloud にクライアントなりすましの脆弱性・アップデートを
    Canonical LXD や MicroCloud に重大な脆弱性 2026年10月28日、Canonical LXD や MicroCloud に重大な脆弱性がみつかりました。
  • Ubuntu 26.04 その82 - Linux kernel の脆弱性 CVE-2026-98432 の対応状況
    CVE-2026-98432 の対応状況 2026年11月2日、Linux kernel の脆弱性である CVE-2026-98432 の対応状況がアナウンスされました。
  • Ubuntu 26.04 その76 - CVE-2026-92392 含む curl の脆弱性22件修正・アップデートを
    curl の脆弱性22件修正 CVE-2026-92392 含む22件の curl の脆弱性に対応したセキュリティーアップデートがリリースされました。
  • Ubuntu 26.10 その38 - Ubuntu 26.10 がリリースされました・ディスクイメージのダウンロード
    Ubuntu 26.10 リリース 2026年10月15日、Ubuntu 26.10 がリリースされました。
  • Linux Mint その294 - Linux Mint 27 の開発とリリース方針の変更・アラーム管理アプリの開発
    Linux Mint 月刊ニュース Linux Mint 開発チームは Linux Mint 月刊ニュースにて、Linux Mint の開発状況や取り組みを紹介しています。
  • Ubuntu 26.04 その78 - eMudhra 認証局の秘密鍵の侵害・アップデートを
    eMudhra 認証局の秘密鍵の侵害 2026年10月20日、eMudhra 認証局(eMudhra CA)の秘密鍵の侵害が発覚しました。
  • Ubuntu 26.04 その79 - CVE-2026-111497 に対応した Brotli のリリース・アップデートを
    Brotli のセキュリティーアップデート 2026年10月26日、CVE-2026-111497 に対応した Brotli がリリースされました。
  • Ubuntu 26.04 その77 - PHP に php2shell(CVE-2026-109618/CVE-2026-109619)の脆弱性・アップデートを
    PHP に php2shell の脆弱性 PHP に php2shell と呼ばれる致命的な脆弱性が見つかりました。
  • Ubuntu 26.10 その40 - Ubuntu Desktop 26.10 の注目機能
    Ubuntu Desktop 26.10  の注目機能 Ubuntu Desktop 26.10  の注目機能を紹介します。
  • Ubuntu 26.10 その39 - Ubuntu 26.10 の新機能と変更点・既知の問題
    Ubuntu 26.10 の新機能と変更点・既知の問題 リリースノートから、Ubuntu 26.10 の新機能と変更点を紹介します。
記事のピックアップ
オプション