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

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

XMLWordPrintable

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

      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

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

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

              Created:
              Updated:

                There are no open Gerrit changes