Skip to content

chore(do not merge): Experiment on docc#2296

Closed
kevaundray wants to merge 5 commits intoethereum:forks/amsterdamfrom
kevaundray:kw/build-doc-only-on-forks/amsterdam
Closed

chore(do not merge): Experiment on docc#2296
kevaundray wants to merge 5 commits intoethereum:forks/amsterdamfrom
kevaundray:kw/build-doc-only-on-forks/amsterdam

Conversation

@kevaundray
Copy link
Contributor

🗒️ Description

docc has been vendored in as this is just out of curiousity

Was curious to see the bottlenecks that Dan was talking about. From what I profiled, it seems docc creates a new HTMLVisitor every time it needs to convert a node to HTML. So I tried to add some caching to see the performance. Will close once experiment is done.

Essentially imagine you need to lookup a phone number N times. Instead of looking up once and writing it down, you look it up N times.

🔗 Related Issues or PRs

N/A.

✅ Checklist

  • All: Ran fast tox checks to avoid unnecessary CI fails, see also Code Standards and Enabling Pre-commit Checks:
    uvx tox -e static
  • All: PR title adheres to the repo standard - it will be used as the squash commit message and should start type(scope):.
  • All: Considered updating the online docs in the ./docs/ directory.
  • All: Set appropriate labels for the changes (only maintainers can apply labels).
  • Tests: Ran mkdocs serve locally and verified the auto-generated docs for new tests in the Test Case Reference are correctly formatted.
  • Tests: For PRs implementing a missed test case, update the post-mortem document to add an entry the list.
  • Ported Tests: All converted JSON/YML tests from ethereum/tests or tests/static have been assigned @ported_from marker.

Cute Animal Picture

Put a link to a cute animal picture inside the parenthesis-->

@kevaundray
Copy link
Contributor Author

kevaundray commented Feb 23, 2026

@danceratopz I'm guessing the main optimization you was talking about was caching the call to entry_points(group="docc.plugins.html") ? See 1893ba2

I think we can close #2271 @SamWilsn and wait for Dan's changes in docc since it plus the DIFF skipping would bring the time down from 1 hour to 6 minutes

@kevaundray
Copy link
Contributor Author

kevaundray commented Feb 23, 2026

@danceratopz perhaps we can upstream 1893ba2 first since its just caching and should be easy to test?

We could even do a test that calls entry_points(group="docc.plugins.html") twice to show that its the same thing and can be cached.

Also can see an issue on this by @SamWilsn SamWilsn/docc#35

@SamWilsn
Copy link
Contributor

@kevaundray
Copy link
Contributor Author

@kevaundray
Copy link
Contributor Author

Closing since we have #2304 which skips the diffs

@kevaundray kevaundray closed this Feb 24, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants