curl / Mailing Lists / curl-library / Single Mail


Windows users! Help us test upload performance tuning?

From: Daniel Stenberg <>
Date: Thu, 2 Aug 2018 14:52:51 +0200 (CEST)


Please note that we would *love* your assistance here if you're a Windows user
and can offer a few moments of your time to run a few tests on a few Windows
versions and tell us the outcome! Here's a simple way to help us make curl
better without doing any coding at all! =)

We want to have more user's experience and results from tests to determine how
we should make curl make uploads on windows as fast as possible.

See Daniel's mail below for details. Please report your results to the list,
to me or to Daniel Jeliński and we can make a summary in a few days.

---------- Forwarded message ----------
Date: Wed, 1 Aug 2018 16:38:02
From: Daniel Jeliński <>
Reply-To: libcurl development <>
To: libcurl development <>
Subject: Re: Slow Windows uploads (with patch)
2018-07-30 18:09 GMT+02:00 Daniel Stenberg <>:
> The tool could try upload with and without "the patch" to one/two/three
> places and report the results with the exact Windows version used. We could
> ask curl users to report *their* results and we collect the results in a
> sheet somewhere.
How about a CURL build? I built curl binaries with and without the
patch, which users could use for testing on their machines. These are
available for download here:
Running test is as simple as unpacking and launching testcurl.bat,
with possible extra step of installing MSVC 2010 redistributable. My
results from a few machines:
1. Windows 2008R2, Europe:
Microsoft Windows [Version 6.1.7601]
generating test file...
running vanilla...
start:0,592000 total:11,263000
running patched...
start:0,593000 total:3,432000
2. Windows 2012R2, USA:
Microsoft Windows [Version 6.3.9600]
generating test file...
running vanilla...
start:0.296000 total:2.921000
running patched...
start:0.297000 total:1.297000
3. Windows 2003, USA:
Microsoft Windows [Version 5.2.3790]
generating test file...
running vanilla...
start:0.281000 total:5.031000
running patched...
start:0.281000 total:5.000000
As expected, there's almost no difference on 2003. In both other cases
tested the difference was more than 100%.
Binaries were built with 32bit VS2010, using command line:
# nmake /f mode=dll GEN_PDB=yes
They will likely require MSVC redistributable, available here:
I tried linking MSVC statically (RTLIBCFG=static), but resulting
binary kept crashing on -w.
For those who don't feel comfortable running binaries downloaded from
the net, the sources are available on git (branches: master &
Jelinski/buffer-tuning-under-Windows), and here's the testcurl script:
@echo off
echo generating test file...
echo test >test
for /l %%i in (1,1,17) do ( type test>>test;)
echo running vanilla...
pushd curl_vanilla
curl -w"start:%%{time_starttransfer} total:%%{time_total}\n" -T ..\test
echo running patched...
pushd curl_patched
curl -w"start:%%{time_starttransfer} total:%%{time_total}\n" -T ..\test
del test

Received on 2018-08-02