Uploaded image for project: 'Qt Installer Framework'
  1. Qt Installer Framework
  2. QTIFW-2790

Study how to improve performance of metadata evaluation

    XMLWordPrintable

Details

    • All
    • Qt Installer Sprint 65, Qt Installer Sprint 66, Qt Installer Sprint 67

    Description

      Some background (Windows):

      • 13000+ control scripts to be evaluated (passed to QJSEngine)
        • if selecting all repository categories in the online installer, depends also on your license
        • this number is growing with each Qt/B2Qt/etc. release
      • Each meta.7z containing the control (.qs) script is downloaded first (using multiple threads)
      • Each meta.7z is then extracted, in parallel
      • Evaluation of the scripts is done one by one
        • scripts (the installer components they belong to) may have dependencies
        • this takes roughly 3 minutes

      Currently, the worst-case scenario is on Windows when selecting all categories. It takes about ~8 mins to download, extract and evaluate all the 13000+ scripts, of which ~3 mins is for the evaluation (QJSEngine).

       

      Suggestions on how to improve the situation:

      • Run the whole thing with profiler to check where time is actually spent
      • keeping and re-using the *.jsc cache files the JS engine creates in the process
      • minimize wrapping and unwrapping QObjects into and out of QJSValue
      • run multiple QJSEngine instances in parallel

      Attachments

        Issue Links

          For Gerrit Dashboard: QTIFW-2790
          # Subject Branch Project Status CR V

          Activity

            People

              arttu.tarkiainen Arttu Tarkiainen
              arttu.tarkiainen Arttu Tarkiainen
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Gerrit Reviews

                  There are no open Gerrit changes