Details
-
Bug
-
Resolution: Unresolved
-
P4: Low
-
None
-
5.15.2
-
None
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