Uploaded image for project: 'Qt for Python'
  1. Qt for Python
  2. PYSIDE-2701

Reduce Qt for Python Binary Size

    XMLWordPrintable

Details

    • User Story
    • Resolution: Unresolved
    • P2: Important
    • None
    • None
    • PySide, Shiboken
    • None

    Description

      As we deploy your packages with each release, we have notice that adding a wrapper around the Qt binaries could be reduced, so this Story is to track the progress around it.

      For a final goal, the team aims to get a 30% reduction in most of our wrappers.

      Currente state 04.2024

      In the case of QtCore (Linux), we deploy the Qt binary, which is:

      6.8M    PySide6/Qt/lib/libQt6Core.so.6
      

      and on top of that our wrapper:

      4.4M    PySide6/QtCore.abi3.so
      

      Meaning that only for providing QtCore compatibility, we need more than 10MB, which when deploying applications, this becomes a problem.

      Ideas

      There has been a few ideas on how to reduce the size, but it's probable that other will appear as well, for example:

      • Identifying common bound methods signatures (say void(int)) and create library code to handle it instead of verbosely generating the code
      • Removal of the strings we have within the wrapper (signatures)
      • exporting only a few symbols when generating the wrapper
      • Reducing the generated code by some sections, or improving processes
      • etc

      Attachments

        Issue Links

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

          Activity

            People

              crmaurei Cristian Maureira-Fredes
              crmaurei Cristian Maureira-Fredes
              Vladimir Minenko Vladimir Minenko
              Alex Blasche Alex Blasche
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

                Created:
                Updated:

                Gerrit Reviews

                  There are no open Gerrit changes