Increase the default (and minimum) buffer size from 4 kB to 16 kB. Also,

propagate the buffer size to libc, which uses a 1 kB buffer by default,
negating any hypothetical benefit of increasing fetch(1)'s buffer size.

MFC after:	3 days
This commit is contained in:
Dag-Erling Smørgrav 2014-01-28 14:32:04 +00:00
parent 2043423cd1
commit c2ea176dac
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=261234
2 changed files with 5 additions and 4 deletions

View File

@ -1,5 +1,5 @@
.\"-
.\" Copyright (c) 2000-2013 Dag-Erling Smørgrav
.\" Copyright (c) 2000-2014 Dag-Erling Smørgrav
.\" Copyright (c) 2013 Michael Gmelin <freebsd@grem.de>
.\" All rights reserved.
.\" Portions Copyright (c) 1999 Massachusetts Institute of Technology; used
@ -30,7 +30,7 @@
.\"
.\" $FreeBSD$
.\"
.Dd July 30, 2013
.Dd January 28, 2014
.Dt FETCH 1
.Os
.Sh NAME
@ -118,7 +118,7 @@ Automatically retry the transfer upon soft failures.
Allow SSL version 2 when negotiating the connection.
.It Fl B Ar bytes , Fl -buffer-size= Ns Ar bytes
Specify the read buffer size in bytes.
The default is 4096 bytes.
The default is 16,384 bytes.
Attempts to set a buffer size lower than this will be silently
ignored.
The number of reads actually performed is reported at verbosity level

View File

@ -49,7 +49,7 @@ __FBSDID("$FreeBSD$");
#include <fetch.h>
#define MINBUFSIZE 4096
#define MINBUFSIZE 16384
#define TIMEOUT 120
/* Option flags */
@ -716,6 +716,7 @@ fetch(char *URL, const char *path)
sigalrm = siginfo = sigint = 0;
/* suck in the data */
setvbuf(f, NULL, _IOFBF, B_size);
signal(SIGINFO, sig_handler);
while (!sigint) {
if (us.size != -1 && us.size - count < B_size &&