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.
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.