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

More complex benchmarks #13

Open
martinfleis opened this issue Apr 14, 2024 · 9 comments
Open

More complex benchmarks #13

martinfleis opened this issue Apr 14, 2024 · 9 comments

Comments

@martinfleis
Copy link
Contributor

Hey @kadyb,

would you be up for expanding the benchmarks with more complex tasks? I have a felling that those you have in here now, especially for buffer and distance, can be a bit misleading. Since both of them are based on points only, some libraries (terra, sf) have a special fast-path for them. I would be interested in more complex options, like distance between polygons and buffering of polygons. Right now, these tests sort of only check if the library has a fast-path implemented for these or not.

@kadyb
Copy link
Owner

kadyb commented Apr 14, 2024

Sure! I will try to add the tasks you suggested. If you have more ideas for tasks, let me know.

@martinfleis
Copy link
Contributor Author

Maybe some binary constructive method like intersection or difference. We have unary constructive (buffer) and predicate only.

Maybe WKT parsing? Or unary union may be also interesting. That tends to be expensive.

@martinfleis
Copy link
Contributor Author

This is an example of what I was talking about regarding the fast-path distance algo - shapely/shapely#2038

@kadyb
Copy link
Owner

kadyb commented Apr 15, 2024

Maybe we should report this in the GEOS repository? sf uses a base function from R, i.e. dist(), but this is not the fastest way. Even better results are provided by the Rfast::Dist(), which is written in C++.

@martinfleis
Copy link
Contributor Author

Maybe we should report this in the GEOS repository?

Yeah, @theroggy suggested the same in the shapely issue. Will do.

sf uses a base function from R, i.e. dist(), but this is not the fastest way

I don't think so, see https://github.com/r-spatial/sf/blob/32aa6c8c53005245493540b1359bc35fe50f0115/R/geom-measures.R#L200-L203 But I know little about the performance of R world.

@kadyb
Copy link
Owner

kadyb commented Apr 15, 2024

@martinfleis
Copy link
Contributor Author

Ah, okay. You see I know nothing about R :D.

The GEOS issue - libgeos/geos#1066

@kadyb
Copy link
Owner

kadyb commented Apr 15, 2024

After the workshop in Prague, you will be specialist in R and Julia 😄

@theroggy
Copy link

theroggy commented Apr 16, 2024

They won't be directly usable, but you can get some inspiration for some possible benchmarks for more complex spatial operations here: https://github.com/geofileops/geobenchmark/blob/main/results_vector_ops/GeoBenchmark.png

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

3 participants