I'm batch geocoding millions of adresses using our dedicated Enterprise ArcGIS Server.
Some of the batch geocoding results end up being pretty bad, so we geocode them again one by one using the same geocoding service... and usually get much better results than batch geocoding (but that's a whole different issue).
This sample code is just to prove the point.
Every single call to the geocode() function make my python process add an extra 3MB of RAM. Eventually it reaches 40GIG+ of RAM. That is not suitable for a production environment.
But sys.getsizeof(geocode) doesn't change.
I've implemented 2 different ways and both do the same.
By the way, the batch geocoder also have a memory leak, but much smaller.
Solved! Go to Solution.