A few weeks ago there was some discussion on the list regarding multi-threading generate_tile.py to improve tiling performance. I speculated that Python's Global Interpreter Lock may hinder the harnessing of multiple cores that may be available. I finally got around to some basic testing using an internal world map data (as Shapefiles), rendered with levels 0..8. The machine is running Windows Vista 64bit (not for long now), on a machine with a Intel Xeon X5482 (4 cores at 3.2GHz). Here's my results:
1 process, 1 thread: 21m 05s 1 process, 4 threads: 13m 44s [1] 4 processes: 10m 11s [1] Note [1]: To divide the world into 4 work units, I simply quartered into NW/NE/SW/SE quadrants. Naturally, due to land distributions on the planet, some of the threads/processes finishes sooner than others. The time shown is for the last quadrant to complete. With some simple load balancing, even better performance could be achieved. My conclusion is that if you want to get as much tiling performance our of a system, use separate instances of Python and divide your work load in a smart way. Now... here's the bit that's of more concern to me... Booting the same machine into Ubuntu (Jaunty) and running exactly the same job for 1 process, 1 thread.... 1h 24m !!! Anyone have a theory on what happened here? Regards, Warren _______________________________________________ Mapnik-users mailing list [email protected] https://lists.berlios.de/mailman/listinfo/mapnik-users

