seddonym / grimp

Builds a graph of a Python project's internal dependencies.
https://grimp.readthedocs.io
BSD 2-Clause "Simplified" License
51 stars 10 forks source link

Rust layers #120

Closed seddonym closed 10 months ago

seddonym commented 11 months ago

Creates a Rust extension module for running find_illegal_dependencies, with the intention of speeding it up.

Benchmarking on a complex code base suggests a significant speedup, for example a contract that took 123s is now down to 27s. I think there is a lot further we could go with this; better memory layout, introducing concurrency and possibly using matrix multiplication algorithms to deduct the presence of paths. But it's still a big improvement.