cURL / Mailing Lists / curl-library / Single Mail


Re: Problems with Windows Binaries

From: David Graf <>
Date: Thu, 28 Oct 2010 10:29:18 +0200

Hello Everybody

Unfortunately, my performance problem on windows is NOT fixed! If I build curl-7.21.1 with Visual Studio nmake with ssl support, the execution of each curl invocation is very slow. To avoid misunderstandings, here is the protocol of my testing:

- Precondition: Installed Visual Studio 2010 on Windows 7
- Compile OpenSSL
  - Download and unzip latest OpenSSL sources
  - cd openssl-*
  - perl Configure VC-WIN32 --prefix=c:\path\to\openssl_install_dir
  - ms\do_nasm (here, nasm directory needs to be in %PATH%)
  - nmake -f ms\ntdll.mak
- Compile Curl
  - set OPENSSL_PATH=%SOME_PATH%\openssl-1.0.0a
  - nmake vc-dll-ssl-dll (by the way, this is the correct command to compile dlls with ssl support, not nmake vc-ssl-dll as described in the docu!)
- Then, I compile the following example and link it agains %CURL%\lib\release-dll-ssl-dll\libcurl_imp.lib:
#include <curl/curl.h>

int main() {
- Afterwards, I execute the following example having the following dlls in %PATH%: libcurl.dll, libeay32.dll, ssleay32.dll

The result is, the execution lags a little bit. Not much, but a little bit. And the best thing is: If I replace the libcurl.dll I created with the libcurl.dll from the package libcurl-7.15.1-msvc-win32-ssl-0.9.8a-zlib-1.2.3 (it is not available anymore, therefore I attached the dll to the email), then it doesn't lag at all. It is significantly faster. You can imaging: With each additional curl function call, it gets much worse. In my application, the execution is 5x slower.

Can someone help me, please?

On Oct 16, 2010, at 7:20 PM, David Graf wrote:

> Hello Daniel
> As described in my last email, I could fix the performance problem by compiling openssl with asm support.
> I am pretty sure, the delay happened in curl_global_init or curl_global_cleanup. My application was even 5x slower, if I did not execute a single rest call except those two.
> Strangely, the command line tool is not slower ..
> David
> On Oct 16, 2010, at 10:31 AM, Daniel Stenberg wrote:
>> On Fri, 15 Oct 2010, David Graf wrote:
>>> the execution was unbelievable slow. 5x slower that with the 7.15.1 package. Something is wrong with openssl. If I compile curl without ssl, the speed is ok.
>> So you're saying the _execution_ even when getting non-SSL protocols got slower when you built with OpenSSL? That sounds very strange as OpenSSL is only involved for the SSL parts and isn't at all used for non-SSL protocols (apart from the intitialization of OpenSSL which always is performed).
>> Does this slowness happen even when you use the latest curl command line tool?
>> --
>> /
>> -------------------------------------------------------------------
>> List admin:
>> Etiquette:
> ------------
> David Graf
> Software Architect
> 28msec Inc.
> ------------
> -------------------------------------------------------------------
> List admin:
> Etiquette:

David Graf
Software Architect

28msec Inc.

List admin:
Received on 2010-10-28