Creo que el quid de la cuestión aquí es qué tareas en su flujo de trabajo no dependen realmente de ArcGIS. Los candidatos obvios incluyen operaciones tabulares y de trama. Si los datos deben comenzar y finalizar dentro de un gdb o algún otro formato ESRI, entonces debe descubrir cómo minimizar el costo de este reformateo (es decir, minimizar el número de viajes de ida y vuelta) o incluso justificarlo, simplemente podría ser demasiado caro de racionalizar. Otra táctica es modificar su flujo de trabajo para usar modelos de datos compatibles con Python antes (por ejemplo, ¿qué tan pronto podría deshacerse de los polígonos vectoriales?).
Para hacer eco a @gene, aunque numpy / scipy son realmente geniales, no asuma que estos son los únicos enfoques disponibles. También puede usar listas, conjuntos, diccionarios como estructuras alternativas (aunque el enlace de @ blah238 es bastante claro sobre los diferenciales de eficiencia), también hay generadores, iteradores y todo tipo de otras herramientas excelentes, rápidas y eficientes para trabajar estas estructuras en Python. Raymond Hettinger, uno de los desarrolladores de Python, tiene todo tipo de excelente contenido general de Python. Este video es un buen ejemplo .
Además, para agregar a la idea de @ blah238 sobre el procesamiento multiplexado, si está escribiendo / ejecutando dentro de IPython (no solo el entorno python "normal"), puede usar su paquete "paralelo" para explotar múltiples núcleos. No soy un genio con estas cosas, pero me parece un poco más alto / amigable para los novatos que las cosas de multiprocesamiento. Probablemente sea solo un tema de religión personal allí, así que tómalo con un grano de sal. Hay una buena descripción al respecto a partir de las 2:13:00 en este video . Todo el video es excelente para IPython en general.