Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Speed up navigation generation for "-M html" builder
This was pair-programmed with @ax-lothas As in the standalone html builder the navigation is flattened out for every single html page, the code needs to create a specialized toctree for every html page. Previously this was done by deep-copying the complete navigation toctree and then stripping out the parts not needed on the particular page. With this change the code only (deep)-copies the needed parts of the toctree avoiding unnecessary copying+throwing-away The performance improvements seems to be smaller for smaller page counts and get bigger the more pages are involved: +----------------------------------+-----------+-----------+-------------------+ | 830 Source Files | 5.3.0 | 5.3.0mod | Ratio | +----------------------------------+-----------+-----------+-------------------+ | SingleThreaded | 49.137 s | 43.517 s | 0.885625903087287 | | Parallel (auto, 16 logical CPUs) | 13.334 s | 12.849 s | 0.963626818659067 | +----------------------------------+-----------+-----------+-------------------+ +----------------------------------+-----------+-----------+-------------------+ | 6166 Source Files | 5.3.0 | 5.3.0mod | Ratio | +----------------------------------+-----------+-----------+-------------------+ | SingleThreaded | 907.497 s | 521.945 s | 0.575147906825036 | | Parallel (auto, 16 logical CPUs) | 195.400 s | 150.139 s | 0.768367451381781 | +----------------------------------+-----------+-----------+-------------------+
- Loading branch information