Issue 33838: Very slow upload with http.client on Windows when setting timeout

Normally, when I upload files using the PUT request I get upload speed of about 100 Mb/s.
But as soon as I set the timeout, the speed drops to about 4 Mb/s (can vary depending on the server):

# Running on Windows 10, using Python 3.6.5

from io import BytesIO
import http.client

def upload(timeout=None):
    test_file = BytesIO(b"0" * 15 * 1024**2)

    if timeout is not None:
        conn = http.client.HTTPConnection("httpbin.org", timeout=timeout)
    else:
        conn = http.client.HTTPConnection("httpbin.org")

    conn.request("PUT", "/put", body=test_file)

    conn.getresponse().read()

upload(25) # Painfully slow
upload() # Pretty fast

This problem seems to only affect Windows.