Sphinx-Performance is a Commandline tool to analyse the performance of different Sphinx documentation project setups.
It was created to answer questions like:
How well does Sphinx scale?
What impact does a specific extension have to the build time?
Is there any different between two specific versions?
How huge is the benefit of using parallel build mode?
What are the performance bottlenecks during a Sphinx build?
What functions have an impact on the runtime?
Are there any memory problems?
To answer these questions, two commandline tools are provided:
Used to create automatically different projects and compare their build time and other key numbers.
See sphinx-performance for details.
Provides profilers and different viewers for runtime and memory consumption.
See sphinx-analysis for details.
Based on the used test project, sphinx-performance may install specific library versions into the currently used Python environment.
It is a good idea to use virtual environments for sphinx-performance runs.
- Test Projects
This little tool borrows a lot of ideas from the performance script of Sphinx-Needs.
Improvement: Adds --pyinstrument as an additional profiler to sphinx-analysis.
Improvement: Introducing sphinx-analysis for runtime and memory profiling.
--projectcan be used multiple times.
Bugfix: Python bin/script calculation on windows fixed.
Improvement: Reading and writing times get measured (ALPHA status, poor parallel build support).
Improvement: CSV export is possible by setting
Improvement: Builder can be set, also multiple times:
Improvement: Result tables highlights diffs
Improvement: More data for result tables
Bugfix: Unique Needs ID calculation
Bugfix: “Need” project unique object-id calculation working with folders.
Bugfix: “Need” project defines all needed defaults now.
Improvement: More data (File amounts and sizes, build times, progress timer)
Improvement: Amount of folders can be defined
Improvement: Folder depth can be defined
Improvement: Folder support for test projects