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

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

XMLWordPrintable

    • Icon: Task Task
    • Resolution: Unresolved
    • Icon: P3: Somewhat important 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, Foundation Sprint 134, Foundation Sprint 135, Foundation Sprint 136, Foundation Sprint 137, Foundation Sprint 138

      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.

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

            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

              Created:
              Updated:

                There is 1 open Gerrit change