Details
-
Task
-
Resolution: Unresolved
-
P2: Important
-
None
-
None
-
None
Description
The recent work on profiling the performances of QDoc, showed that, of the time that is spent in QDoc itself, that is not counting the time spent, for example, in libclang, most of the times is spent quoting files.
A closer look at the code showed extreme inefficiencies in the quoting system, in particular with regards to snippets.
When something is quoted from, the file is searched for, loaded into memory, marked up in full and used, while keeping two copies of the file into memory, the marked copy and the plain copy.
When a snippet is involved, after this whole process the copies are consumed until the snippet is found and extracted.
For each snippet in a file that is referenced in the documentation, the whole process is repeated from scratch.
Improve the performances of the quoting system by avoiding repeated work and by reducing the amount of work that is performed to the minimum needed.
Attachments
Issue Links
- relates to
-
QTBUG-100379 Change the base architecture of QDoc to an intermediate form that is suitable to testing and new developments
- Reported
-
QTBUG-111686 Improve performance of QDoc via parallelized parsing of sources and addressing other inefficiencies
- Open
- resulted from
-
QTBUG-78197 Callgrind-ing the qdoc
- Open