JuliaDiff / SparseDiffTools.jl

Fast jacobian computation through sparsity exploitation and matrix coloring
MIT License
237 stars 41 forks source link

v1.6 major performance regression #140

Closed ChrisRackauckas closed 3 years ago

ChrisRackauckas commented 3 years ago

https://github.com/JuliaDiff/SparseDiffTools.jl/pull/139 shows that master is just fine on v1.5, but https://github.com/JuliaDiff/SparseDiffTools.jl/pull/137 shows a massive regression on v1.6.

https://github.com/JuliaDiff/SparseDiffTools.jl/runs/2317160332#step:6:147

When I run it locally, it runs forever and then just goes OOM. I might need some external help here.

ChrisRackauckas commented 3 years ago

Specifically it looks like this test is it: https://github.com/JuliaDiff/SparseDiffTools.jl/blob/master/test/test_acyclic.jl

JeffBezanson commented 3 years ago

Bisects to https://github.com/JuliaLang/julia/pull/37914, so I suspect it's due to different random numbers. It looks like even the size of the graph is random, which could certainly do the trick!

ChrisRackauckas commented 3 years ago

Oh interesting, https://github.com/JuliaDiff/SparseDiffTools.jl/pull/141 yeah that did the trick. I'll keep it in mind and maybe make that StableRNGs.jl. Thanks! Definitely not what I was expecting.