-
Notifications
You must be signed in to change notification settings - Fork 91
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
memory-inefficient area:id filter #359
Comments
Thanks for reporting! Preliminary analysis: Case 1: bool Area_Constraint::delivers_data(Resource_Manager& rman)
{
if (!area->areas_from_input())
return false; // <<<<--- more sophisticated logic needed here Irrespective of the actual area size, delivers_data will be always false, leading to check_keys_late being This has further impact on Method may not stop processing after 1 Mio. entries because of check_keys_late being false. This way, the method accumulates around 210 Mio entries in new_ids! Case 2: More sophisticated logic to determine area size in https://github.com/drolbr/Overpass-API/blob/master/src/overpass_api/statements/area_query.cc#L294-L308 -> delivers_data is true. Early exit of |
Fixed in dba448f |
Consider the following two almost identical queries:
and:
The first one fails (with a Query run out of memory using about 2048 MB of RAM runtime error) while the second one works fine. Here's the example in overpass turbo.
//cc @mocnik-science
The text was updated successfully, but these errors were encountered: