Skip to content

Conversation

@frankharkins
Copy link
Member

@frankharkins frankharkins commented Jan 16, 2026

Improving check time is important to our team (see #2854). A large portion of the time is spent in the internal link checker.

We discovered that parsing markdown and extracting links is a bottleneck in the link checker, so we rewrote that specific function in Rust (https://github.com/qiskit-community/mdx-link-extract/). From eyeballing the logs, this brings roughly a 10x speedup.

@review-notebook-app
Copy link

Check out this pull request on  ReviewNB

See visual diffs & provide feedback on Jupyter Notebooks.


Powered by ReviewNB

@qiskit-bot
Copy link
Contributor

One or more of the following people are relevant to this code:

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

"- To install Python, first check the \"Programming Language\" section on the [Qiskit PyPI project page](https://pypi.org/project/qiskit/) to determine which Python versions are supported by the most recent release. For download instructions, see the [Python Beginners Guide.](https://wiki.python.org/moin/BeginnersGuide/Download)\n",
"\n",
"<Admonition type = \"note\">\n",
"<Admonition type=\"note\">\n",
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The only discrepancy I found between the JS and Rust MDX libraries is that the Rust library doesn't allow spaces here. This only occurs in a handful of places in our repo.

Copy link
Collaborator

@arnaucasau arnaucasau left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Amazing work, Frank! I love the speedup we got, especially with the API check:

Before: ~6 min
Now: ~40s

I tested the link checker locally and everything worked as expected!

@frankharkins frankharkins added this pull request to the merge queue Jan 16, 2026
Merged via the queue into main with commit 965882b Jan 16, 2026
6 checks passed
@frankharkins frankharkins deleted the FH/rust-extract-links branch January 16, 2026 10:46
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

3 participants