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

Study how to improve performance of metadata evaluation

XMLWordPrintable

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

      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

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

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

              Created:
              Updated:
              Resolved:

                There are no open Gerrit changes