PageRank's linear algebraic formulation also has a natural interpretation in the GraphBLAS sparse graph linear algebra library. Here's an example from a paper that benchmarks C, Julia, and Python with pygraphblas (this example hasn't yet been ported to the newer python-graphblas library):
The GraphBLAS handles sparse matrices very efficiently, so extremely large graphs can be used, we were able to benchmark against graphs with 65M nodes and billions of triangles in just over a minute. Both the Python and Julia bindings came reasonably close to the "native" C implementation in LAGraph.
https://www.researchgate.net/publication/356707900_The_Graph...
(disclaimer: I'm one of the paper authors).
The GraphBLAS handles sparse matrices very efficiently, so extremely large graphs can be used, we were able to benchmark against graphs with 65M nodes and billions of triangles in just over a minute. Both the Python and Julia bindings came reasonably close to the "native" C implementation in LAGraph.