-
Notifications
You must be signed in to change notification settings - Fork 58
feat: save documentation info to SQLite database #347
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
This PR adds a SQLite database that contains all of the documentation info.
|
!bench |
|
Benchmark results for 7f88ca7 against 837f89a are in! @david-christiansen No significant changes detected. |
|
Significance detection isn't going yet due to there not being enough data. The result for this version isn't great, so more work is needed:
|
Experiment to see if slowdown due to database file contention
|
!bench |
|
Benchmark results for 9272ece against 837f89a are in! @david-christiansen No significant changes detected. |
|
!bench |
|
Benchmark results for 418fa51 against 837f89a are in! @david-christiansen No significant changes detected. |
|
!bench |
|
Benchmark results for 76667ea against 837f89a are in! @david-christiansen No significant changes detected. |
|
!bench |
|
Benchmark results for e429f8e against 837f89a are in! @david-christiansen No significant changes detected. |
|
!bench |
|
Benchmark results for e1d2a8b against 837f89a are in! @david-christiansen No significant changes detected. |
|
As of e29f8e, it's:
Seems that the Mathlib cache was only getting partial values. |
|
With the original PR code, it's comparable:
|
Extensions are not presently handled, but the fallback data are saved.
This is the first step towards rendering HTML from the DB instead of directly. The serializable version of CodeWithInfos used here can be saved in the DB. The generated HTML is the same, modulo commit hashes and external URLs.
|
!bench |
|
Benchmark results for ec4cf3e against 837f89a are in! @david-christiansen
No significant changes detected. |
This is preliminary to generating HTML from the database. The output is still unchanged, modulo commit hashes and source URLs.
|
!bench |
|
Benchmark results for 9489cfd against 837f89a are in! @david-christiansen
No significant changes detected. |
The scripts indicate that the output is the same, modulo minor differences in automatic linking
This is to serve as a basis for incremental builds of the DB with no HTML output in the future.
|
!bench |
|
Benchmark results for c6f2804 against 4dbbb80 are in! @david-christiansen
No significant changes detected. |
|
Timing info for the new HTML generation step: This is about 30 seconds at the end, after everything is built, which seems not terrible. I'll try disabling the old HTML and see how the benchmark looks. |
Remove all code that is no longer needed with the new generation path.
|
!bench |
|
Benchmark results for c169a17 against 4dbbb80 are in! @david-christiansen
No significant changes detected. |
|
!bench |
|
Benchmark results for 569cd63 against 4dbbb80 are in! @david-christiansen
No significant changes detected. |
|
!bench |
|
Benchmark results for fa6ae51 against 4dbbb80 are in! @david-christiansen
No significant changes detected. |
This PR adds a SQLite database that contains all of the documentation info. The plan is that Verso can use this database rather than consulting the environment for docstrings, and that it will enable other tools to do useful things that we haven't yet anticipated.
This is a work in progress - I'm opening the PR so I can run Radar on it and see what the present overhead of building the DB is.
Remaining work:
Comments:
To check that HTML generated from the database is close enough to the current output, I wrote two Python scripts that are essentially checking the same properties differently. They check that the generated HTML is the same, modulo the following differences: