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

    • Commits:
      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

        No reviews matched the request. Check your Options in the drop-down menu of this sections header.

          Activity

            People

            Assignee:
            ulherman Ulf Hermann
            Reporter:
            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