Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ITP implementation beaten by Roots.jl #501

Open
tecosaur opened this issue Nov 14, 2024 · 0 comments
Open

ITP implementation beaten by Roots.jl #501

tecosaur opened this issue Nov 14, 2024 · 0 comments

Comments

@tecosaur
Copy link

Hello!

I wrote the original code that was developed into the current ITP implementation (#184) and recently for fun thought I'd compare it to what's in Roots.jl using the example problem in https://docs.sciml.ai/SciMLBenchmarksOutput/stable/IntervalNonlinearProblem/simpleintervalrootfind/.

Curiously, it seems like the Roots.jl implementation is ~15% faster. Adding an extra Roots.ITP() argument to find_zero, I find that (using Chairmarks and a Zen2 chip):

julia> @b froots(out, levels, (0.0, 2.0))
81.623 ms (100000 allocs: 15.259 MiB, 10.37% gc time)

julia> @b f(out, levels, (0.0, 2.0))
94.051 ms

From this, I suspect there's some performance on the table with the current implementation. I don't have time to dig into this myself, but thought I might as well let you folk know 🙂.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant