Uploaded image for project: 'Qt Creator'
  1. Qt Creator
  2. QTCREATORBUG-20636

QBS project manager and Android "automatic kit" generation cause needless memory churn

    XMLWordPrintable

Details

    • 258360a22c18b01e1f1eab6306da1cac5f3b42dc ced5f8923536a8a3b29abf905c14a34cd600ca50

    Description

      On startup, the android integration creates kits for all matching Qt versions, and sets the sticky bit on all their KitInformation. This includes the QbsKitInformation. The QbsKitInformation is peculiar in that it leaves its ID string empty. Therefore, when loading the sticky bits, it is omitted (see Kit::Kit(const QVariantMap &data)). Thus, all android-related kits with QbsKitInformation are "changed" every time we start. This causes a kitUpdated() signal to be emittted, which in turn causes the QbsProjectManager to rebuild its internal kit representation from scratch.

      Measurements indicate that this amounts to about 10% of all memory allocations and more than 15% of all memory releases during startup.

      Attachments

        For Gerrit Dashboard: QTCREATORBUG-20636
        # Subject Branch Project Status CR V

        Activity

          People

            ulherman Ulf Hermann
            ulherman Ulf Hermann
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Gerrit Reviews

                There are no open Gerrit changes