Por que o http.client do Python 3 é muito mais rápido do que os pedidos do python?

Hoje eu estava testando diferentes bibliotecas HTTP Python e percebi quehttp.client biblioteca parece ter um desempenho muito mais rápido do querequests.

Para testá-lo, você pode executar os seguintes dois exemplos de código.

import http.client

conn = http.client.HTTPConnection("localhost", port=8000)
for i in range(1000):
    conn.request("GET", "/")
    r1 = conn.getresponse()
    body = r1.read()
    print(r1.status)

conn.close()

e aqui está o código fazendo a mesma coisa com python-orders:

import requests

with requests.Session() as session:
    for i in range(1000):
        r = session.get("http://localhost:8000")
        print(r.status_code)

Se eu iniciar o SimpleHTTPServer:

> python -m http.server

e execute as amostras de código acima (estou usando o Python 3.5.2). Eu recebo os seguintes resultados:

http.client:

0.35user 0.10system 0:00.71elapsed 64%CPU 

python-orders:

1.76user 0.10system 0:02.17elapsed 85%CPU 

Minhas medições e testes estão corretos? Você pode reproduzi-los também? Se sim, alguém sabe o que está acontecendo por dentrohttp.client que o tornam muito mais rápido? Por que existe uma diferença tão grande no tempo de processamento?

questionAnswers(2)

yourAnswerToTheQuestion