Details
-
Bug
-
Resolution: Fixed
-
P1: Critical
-
6.7.2
-
-
315210de9 (dev), 1f3e8c316 (6.8), ba1ffacfe (6.7), 2ce08e367 (dev), 225e235cf (6.8)
Description
QString xmlMessageRawContents(const QDomElement& msg_element) const { QString raw_contents; QTextStream str(&raw_contents); msg_element.save(str, 0, QDomNode::EncodingPolicy::EncodingFromTextStream); return raw_contents; }
Let's have this XML (RSS feed actually)
https://blog.digital-forensics.it/feeds/posts/default?alt=rss
Fetch the XML, load into QDomDocument instance, then select one by one of its "<item>" elements and run with above method with the element as parameter.
With Qt 5.x, the execution takes like 20 seconds (that itself is really slow but manageable), but with Qt 6.7.2 the execution takes many many seconds -> FOUR MINUTES. The reason is that the above XML has relatively (but not really) huge elements - they contain a lot of text.
Attachments
For Gerrit Dashboard: QTBUG-127549 | ||||||
---|---|---|---|---|---|---|
# | Subject | Branch | Project | Status | CR | V |
581442,12 | XML/QDom: speedup encodeText() | dev | qt/qtbase | Status: MERGED | +2 | 0 |
583923,3 | QString::replace: fix a performance regression | dev | qt/qtbase | Status: MERGED | +2 | 0 |
584000,2 | QString::replace: fix a performance regression | 6.8 | qt/qtbase | Status: MERGED | +2 | 0 |
584046,2 | QString::replace: fix a performance regression | 6.7 | qt/qtbase | Status: MERGED | +2 | 0 |
586374,2 | XML/QDom: speedup encodeText() | 6.8 | qt/qtbase | Status: MERGED | +2 | 0 |