1
0
mirror of https://github.com/moparisthebest/curl synced 2025-01-10 21:48:10 -05:00

TODO: Use multiple parallel transfers for a single download

Closes #5774
This commit is contained in:
Daniel Stenberg 2020-08-04 16:14:41 +02:00
parent 28f22a9524
commit 532dfa3bc0
No known key found for this signature in database
GPG Key ID: 5CC908FDB71E12C2

View File

@ -160,6 +160,7 @@
18.21 retry on the redirected-to URL 18.21 retry on the redirected-to URL
18.22 Add flag to specify download directory 18.22 Add flag to specify download directory
18.23 Set the modification date on an uploaded file 18.23 Set the modification date on an uploaded file
18.24 Use multiple parallel transfers for a single download
19. Build 19. Build
19.1 roffit 19.1 roffit
@ -1124,6 +1125,27 @@ that doesn't exist on the server, just like --ftp-create-dirs.
See https://github.com/curl/curl/issues/5768 See https://github.com/curl/curl/issues/5768
18.24 Use multiple parallel transfers for a single download
To enhance transfer speed, downloading a single URL can be split up into
multiple separate range downloads that get combined into a single final
result.
An ideal implementation would not use a specified number of parallel
transfers, but curl could:
- First start getting the full file as transfer A
- If after N seconds have passed and the transfer is expected to continue for
M seconds or more, add a new transfer (B) that asks for the second half of
A's content (and stop A at the middle).
- If splitting up the work improves the transfer rate, it could then be done
again. Then again, etc up to a limit.
This way, if transfer B fails (because Range: isn't supported) it will let
transfer A remain the single one. N and M could be set to some sensible
defaults.
See https://github.com/curl/curl/issues/5774
19. Build 19. Build
19.1 roffit 19.1 roffit