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
人気の記事
  • Ubuntu 26.04 その42 - Ubuntu 26.04.1 LTS のリリーススケジュール
    Ubuntu 26.04.1 LTSのリリーススケジュール Ubuntu 26.04.1 LTS のリリーススケジュールを紹介します。
  • Ubuntu 26.04 その68 - Ubuntu 26.04.1 LTS がリリースされました・ディスクイメージのダウンロード
    Ubuntu 26.04.1 LTS リリース 2026年8月27日、Ubuntu 26.04.1 LTS がリリースされました。
  • Linux Mint その292 - Linux kernel 7.0 採用の Linux Mint 22.3 リリース・システム管理ツールにカーネル管理機能追加など
    Linux Mint 月刊ニュース Linux Mint 開発チームは Linux Mint 月刊ニュースにて、Linux Mint の開発状況や取り組みを紹介しています。
  • Linux その422 - GNOME Boxes の再構築と未来・Flatpak のみの提供やモダンな機能の実装など
    GNOME Boxes の再構築と未来 GNOME Boxes の再構築と未来が以下で紹介されています。
  • Kubuntu その117 - Kubuntu 26.04 LTS にもっと手厚いサポートを・最高の信頼性を誇る KDE 搭載ディストリビューションを目指して
    最高の信頼性を誇る KDE 搭載ディストリビューションを目指して Kubuntu 26.04 LTS に手厚いサポートが導入されました。
  • Linux その421 - GNOME Shell のデザイン構想と長期的な見通し
    GNOME Shell のデザイン構想と長期的な見通し GNOME Shell のデザイン構想と長期的な見通しが、以下で紹介されています。
  • Ubuntu 24.04 その96 - Ubuntu 24.04.5 LTS のリリース日変更
    Ubuntu 24.04.5 LTS のリリース日変更 Ubuntu 24.04.5 LTS のリリース日が変更されました。
  • Ubuntu 18.04 その195 - PolicyKitにクラッシュや権限の昇格など複数の脆弱性・今すぐアップデートを
    PolicyKitの脆弱性 2018年7月16日、クラッシュや権限の昇格など複数の脆弱性に対応した「PolicyKit」がリリースされました。
  • Linux その426 - GNOME 向けアプリとアップデートの紹介・AI アシスタントアプリやメールスイートなど
    GNOME 向けアプリとアップデートの紹介 GNOME 向けアプリとアップデートの紹介です。
  • Linux その420 - KDE Plasma で実装予定の新機能や改善・UI レイアウトの調整やリモートデスクトップの改善など
    KDE Plasma で実装予定の新機能や改善 KDE Plasma で実装予定の新機能や改善を紹介します。
記事のピックアップ
オプション