Parallelism em python não está funcionando direito

I estava desenvolvendo um aplicativo no gae usando python 2.7, uma chamada ajax solicita alguns dados de uma API, uma única solicitação pode demorar ~ 200 ms, no entanto, quando abro dois navegadores e faço duas solicitações em um momento muito próximo, elas demoram mais do que o dobro disso, tentei colocar tudo em threads, mas não funcionou .. (isso acontece quando o aplicativo está online, não apenas no servidor dev)

Então eu escrevi este teste simples para ver se isso é um problema em python em geral (no caso de uma espera ocupada), aqui está o código e o resultado:

def work():
    t = datetime.now()
    print threading.currentThread(), t
    i = 0
    while i < 100000000:
        i+=1
    t2 = datetime.now()
    print threading.currentThread(), t2, t2-t

if __name__ == '__main__': 
    print "single threaded:"
    t1 = threading.Thread(target=work)
    t1.start()
    t1.join()

    print "multi threaded:"
    t1 = threading.Thread(target=work)
    t1.start()
    t2 = threading.Thread(target=work)
    t2.start()
    t1.join()
    t2.join()

O resultado no mac os x, core i7 (4 núcleos, 8 threads), python2.7:

single threaded:
<Thread(Thread-1, started 4315942912)> 2011-12-06 15:38:07.763146
<Thread(Thread-1, started 4315942912)> 2011-12-06 15:38:13.091614 0:00:05.328468

multi threaded:
<Thread(Thread-2, started 4315942912)> 2011-12-06 15:38:13.091952
<Thread(Thread-3, started 4323282944)> 2011-12-06 15:38:13.102250
<Thread(Thread-3, started 4323282944)> 2011-12-06 15:38:29.221050 0:00:16.118800
<Thread(Thread-2, started 4315942912)> 2011-12-06 15:38:29.237512 0:00:16.145560

Isto é bastante chocante !! se um único encadeamento levasse 5 segundos para fazer isso. Pensei que iniciar dois encadeamentos ao mesmo tempo levaria o mesmo tempo para concluir as duas tarefas, mas leva quase o triplo do tempo. Isso torna inútil toda a ideia de encadeamento, como seria mais rápido fazê-las sequencialmente!

O que estou perdendo aqui.

questionAnswers(3)

yourAnswerToTheQuestion