Uploaded image for project: 'Qt'
  1. Qt
  2. QTBUG-135572

Optimize string-based connect() vis-a-vis PMF-style connect()

    XMLWordPrintable

Details

    • Task
    • Resolution: Unresolved
    • P3: Somewhat important
    • None
    • None
    • Core: Object Model
    • None
    • 13
    • 31e3e886a (tqtc/lts-6.5), fdc070c3b (6.10), 601454a0f (tqtc/lts-6.8), c5492fe59 (tqtc/lts-6.5), 5e2e853b1 (tqtc/lts-6.5), 8848d58f2 (6.9), 97e193796 (tqtc/lts-6.8), 6c18b438a (dev), afdf37ad8 (dev), f6f9e0aec (tqtc/lts-6.5), 12b91f97e (6.10)
    • Foundation Sprint 129, Foundation Sprint 130, Foundation Sprint 131, Foundation Sprint 132, Foundation Sprint 133

    Description

      In the eternal debate whether string-based or PMF-based QObject::connect() is "better", dfaure_kdab offered the argument that the latter are faster than the former.

      tst_bench_qobject confirms this (not posting benchmark results, because they're done with an ubsan/asan build), but, at least for normalized signatures, this is kinda surprising, because the PMF-connect needs to allocate an (additional) QSlotObject instance, while string-based connect() merely needs to parse (compare, really) a (relatively short) string.

      Investigate why string-based connect is so slow and try to optimize it, starting with de-pessimisation.

      Attachments

        Issue Links

          For Gerrit Dashboard: QTBUG-135572
          # Subject Branch Project Status CR V

          Activity

            People

              mmutz Marc Mutz
              mmutz Marc Mutz
              Vladimir Minenko Vladimir Minenko
              Alex Blasche Alex Blasche
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

                Created:
                Updated:

                Gerrit Reviews

                  There are no open Gerrit changes