-
Notifications
You must be signed in to change notification settings - Fork 6
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
Implement Robust orientation #18
Conversation
How much of a speedup did it actually give? |
Interesting, this shows a different between the Intel proc and Apple procs! @Btime triangulate(pts2) setup=begin pts2=rand(StableRNG(1), Point2f, 1_000_000); end On my Intel iMac Pro (Julia 1.10.2): 842 ms for using the code from AdaptivePredicates.jl On my M2 MacBook Air (Julia 1.10.1): 469ms using the code from AdaptivePredicates.jl |
Hey @DanielVandH, I edited and incorporated your ported incircle test here too from Adaptive Predicates. Any objection to including it directly here? I like to try and avoid dependencies if possible. I added you to the list of people as authors of the robust.jl file. Adding the robust incircle test does give a small overall slowdown. (more like 900ms on Intel now now; more like ~500ms now on Mac). |
I've no problem with you including it directly, that's fine. I've done similar copies in DelaunayTriangulation.jl for avoiding other dependencies. I like what you did with trying to avoid caching for as long as possible. I wanted to do that initially but.. lazy. The slowdown isn't too surprising but it's a nice middle ground between exact and inexact I'd say. Is your benchmark actually over a million points as you write above? I tried that and get a much longer time (though I am on an extremely crappy machine :) ) |
Thanks. I added the performance test to this pull request to see what the CI machines give. |
Oh I see. I just ran it again and get a decent result (~1.2s). Last time I got like 45 s.. don't know what happened there. Must've got unlucky. That's an impressive speed! Is it using spatial sorting? |
This directly includes the AdaptivePredicates.jl code for robust orientation.
Also, this gives a speed improvement!