Priority: P2: Important
Affects Version/s: None
Fix Version/s: None
Component/s: Build tools: qdoc
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.