Acho que o cerne da questão aqui é quais tarefas no seu fluxo de trabalho não são realmente dependentes do ArcGIS? Os candidatos óbvios incluem operações tabulares e raster. Se os dados devem começar e terminar dentro de um gdb ou algum outro formato ESRI, você precisará descobrir como minimizar o custo dessa reformatação (por exemplo, minimizar o número de viagens de ida e volta) ou até justificá-lo - simplesmente pode ser muito caro para racionalizar. Outra tática é modificar seu fluxo de trabalho para usar modelos de dados compatíveis com python anteriormente (por exemplo, em quanto tempo você poderia abandonar polígonos vetoriais?).
Para ecoar @gene, enquanto numpy / scipy são realmente ótimos, não assuma que essas são as únicas abordagens disponíveis. Você também pode usar listas, conjuntos, dicionários como estruturas alternativas (embora o link do @ blah238 seja bastante claro sobre diferenciais de eficiência), também existem geradores, iteradores e todos os tipos de outras ferramentas excelentes, rápidas e eficientes para trabalhar essas estruturas em python. Raymond Hettinger, um dos desenvolvedores do Python, tem todo tipo de conteúdo geral do Python. Este vídeo é um bom exemplo .
Além disso, para adicionar à idéia do @ blah238 em processamento multiplexado, se você estiver escrevendo / executando no IPython (não apenas no ambiente python "regular"), você pode usar o pacote "paralelo" para explorar vários núcleos. Eu não sou um gênio com essas coisas, mas acho que é um pouco mais alto / amigável para iniciantes do que as coisas de multiprocessamento. Provavelmente é apenas uma questão de religião pessoal lá, então leve isso com um grão de sal. Há uma boa visão geral sobre isso a partir das 2:13:00 deste vídeo . O vídeo inteiro é ótimo para o IPython em geral.