Просмотр исходного кода

Increase the default HTTPClient download chunk size to 64 KiB

This improves download speeds at the cost of increased memory usage.

This change also effects HTTPRequest automatically.

See #32807 and #33862.

(cherry picked from commit 13357095eef1bf644ae3f878143716f73e2afd2a)
Hugo Locurcio 4 лет назад
Родитель
Сommit
2c6b3074fc
3 измененных файлов с 5 добавлено и 4 удалено
  1. 2 1
      core/io/http_client.cpp
  2. 1 1
      doc/classes/HTTPClient.xml
  3. 2 2
      doc/classes/HTTPRequest.xml

+ 2 - 1
core/io/http_client.cpp

@@ -749,7 +749,8 @@ HTTPClient::HTTPClient() {
 	ssl = false;
 	blocking = false;
 	handshaking = false;
-	read_chunk_size = 4096;
+	// 64 KiB by default (favors fast download speeds at the cost of memory usage).
+	read_chunk_size = 65536;
 }
 
 HTTPClient::~HTTPClient() {

+ 1 - 1
doc/classes/HTTPClient.xml

@@ -181,7 +181,7 @@
 		<member name="connection" type="StreamPeer" setter="set_connection" getter="get_connection">
 			The connection to use for this client.
 		</member>
-		<member name="read_chunk_size" type="int" setter="set_read_chunk_size" getter="get_read_chunk_size" default="4096">
+		<member name="read_chunk_size" type="int" setter="set_read_chunk_size" getter="get_read_chunk_size" default="65536">
 			The size of the buffer used and maximum bytes to read per iteration. See [method read_response_body_chunk].
 		</member>
 	</members>

+ 2 - 2
doc/classes/HTTPRequest.xml

@@ -125,9 +125,9 @@
 		<member name="body_size_limit" type="int" setter="set_body_size_limit" getter="get_body_size_limit" default="-1">
 			Maximum allowed size for response bodies.
 		</member>
-		<member name="download_chunk_size" type="int" setter="set_download_chunk_size" getter="get_download_chunk_size" default="4096">
+		<member name="download_chunk_size" type="int" setter="set_download_chunk_size" getter="get_download_chunk_size" default="65536">
 			The size of the buffer used and maximum bytes to read per iteration. See [member HTTPClient.read_chunk_size].
-			Set this to a higher value (e.g. 65536 for 64 KiB) when downloading large files to achieve better speeds at the cost of memory.
+			Set this to a lower value (e.g. 4096 for 4 KiB) when downloading small files to decrease memory usage at the cost of download speeds.
 		</member>
 		<member name="download_file" type="String" setter="set_download_file" getter="get_download_file" default="&quot;&quot;">
 			The file to download into. Will output any received file into it.