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

QMqttConnection::finalize_publish shows bottleneck QMqttTopicFilter::match()

    XMLWordPrintable

Details

    • Bug
    • Resolution: Unresolved
    • P4: Low
    • None
    • 5.15.2
    • MQTT
    • None
    • All

    Description

      We are running some load tests with our application using the QMqttClient in version 5.15.2 sending some thousand messages to unique topics out to a local broker and having subscriptions on all of the topics to receive the messages back within the same application.

      In the end we wondered about low data throughput and did some performance analysis in Visual Studio 2019. As you can see in the attached calltree, the bottleneck is not receiving the notifications, but rather the method finalize_publish() with especially the call to QMqttTopicFilter::match().

      Our hand-over point to the Qt event-loop is of courseĀ QCoreApplication::instance()->processEvents(All, 100), but we really wonder, why the method finalize_publish() would need to go through all subscriptions and test the topics for a filter-match.

      Hope, you can explain this observation or do some optimization.

      Thank you, Daniel

      Attachments

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

        Activity

          People

            mkalinow Maurice Kalinowski
            dhoegerl Daniel Hoegerl
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated:

              Gerrit Reviews

                There are no open Gerrit changes