GIScience/openpoiservice

Support multiple isochrone when request to api

zephylac opened this issue · 4 comments

Currently I'm working on a large dataset, I have to query my openpoiservice for every data instance I have. This makes the execution time very long. Maybe I missed something but I think we can call openpoiservice with only one isochrone. Maybe we could implement a way to pass multiple parameters inside geojson to avoid large amounts of request ?

I estimated that for about 40 000 examples I would have 32 hours of computing.
I allocated 4 cores, 8gb or RAM, 1gb on SWAP on my docker. Which seems enough. I've never reach 3gb of memory usage.

Yes, this would probably be a very handy feature. We could handle this via geojson multipolygons (https://github.com/GIScience/openpoiservice/blob/master/openpoiservice/server/api/views.py#L233) what do you think? Also, we could think a little further and multiprocess these polygons.

Definitely multi-thread it, it would give huge performance boost to API unless using a single-core processor

I've looked more into it. This threading library seems a good choice to process an array of request. If understand correctly, if we use multipolygons we will have several request for the same settings ?

Closing issue resolved by #68.