curl / Mailing Lists / curl-library / Single Mail
Buy commercial curl support from WolfSSL. We help you work out your issues, debug your libcurl applications, use the API, port to new platforms, add new features and more. With a team lead by the curl founder himself.

Re: Curl's network performance is slower than IDM.

From: Hongyi Zhao via curl-library <curl-library_at_cool.haxx.se>
Date: Sat, 20 Jun 2020 21:04:53 +0800

Hongyi Zhao <hongyi.zhao_at_gmail.com> 于2020年6月20日周六 上午8:40写道:
>
>
>
> Patrick Schlangen <patrick_at_schlangen.me> 于2020年6月19日周五 上午4:31写道:
>>
>> Hi,
>>
>> interesting thread.
>>
>> Am 18.06.2020 um 12:09 schrieb Daniel Stenberg via curl-library <curl-library_at_cool.haxx.se>:
>>
>> The question is then of course still what IDM does that makes it that much faster or perhaps what curl should do to improve. But without more details and knowledge of IDM's set of tricks, I'm not sure we will achieve that right now.
>>
>>
>> I’ve downloaded that program out of curiosity and compared it against curl on macOS.
>>
>> curl is running natively on macOS, IDM in a Windows 10 VMware Fusion virtual machine on the same machine. I only tested a couple of times with the file (http://speedtest-ny.turnkeyinternet.net/1000mb.bin) and timed the total download time (using `time` for curl and using a stopwatch for IDM).
>>
>> Interestingly, IDM showed max 13.5 MB/s with an average total download time of 93 seconds, while curl showed max 12.0 MB/s and took 86 seconds for the same file on average. So actually curl was faster but displayed the lower max transfer rate.
>>
>> Important: Start your stopwatch already when you are in the dialog shown in my attached screenshot. They work with a little trick here: They start downloading in the background before you even press "Start Download"! (See network activity in my screenshot...)
>>
>> @Hongyi: I’d recommend to retry the tests while measuring the time it takes to download the file instead of relying on the displayed download speed. Either curl could be too pessimistic in the displayed speed or IDM could be too optimistic. (In the end the selling point of their product is to be faster than the competitors.)
>>
>> Disclaimer: I didn’t spend much time, and from a statistical point it’s probably not valid to draw any conclusions from my experiments.
>
>
> I've noted that the real URL used by IDM for the file (http://speedtest-ny.turnkeyinternet.net/1000mb.bin) is the following:
>
> http://ipv4.download.thinkbroadband.com/1GB.zip
>
> Then I retried with the above URL for several times to benchmark the total duration for each downloading progress. Anyway, the ultimate purpose is the short time-duration for the same job. The results are as follows:
>
> 1. IDM with single connection setting vs curl:
>
> They basically show the same time-durations for my case: around 58 ~ 59 secs.
>

Some side-notes:

> 2. IDM with multiple connections/multi-threading setting vs PyIDM (https://github.com/pyIDM/PyIDM):

PyIDM is based on pycurl, hence libcurl, and it implemented the
similar dynamic file segmentation technique which IDM claimed.

>
> They still basically show the same time-durations for my case: around 45 ~ 49 secs.

Based on several tests observed, they are evenly defeated by the other.

-- 
Hongyi Zhao <hongyi.zhao_at_gmail.com>
-------------------------------------------------------------------
Unsubscribe: https://cool.haxx.se/list/listinfo/curl-library
Etiquette:   https://curl.haxx.se/mail/etiquette.html
Received on 2020-06-20