From c2eaef2f57153a22b6dc075b1adc9fde1a4eb7bd Mon Sep 17 00:00:00 2001 From: =?utf8?q?P=C3=A1draig=20Brady?=
Date: Thu, 7 Nov 2013 11:57:09 +0000 Subject: [PATCH] shred: increase I/O block size for periodic pattern case * src/shred.c (dopass): In the periodic pattern case increase the I/O block size from 12KiB to 60KiB (also a multiple of 3 and 4096). * NEWS: Adjust accordingly. --- NEWS | 2 +- src/shred.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/NEWS b/NEWS index 79665ac8b..7028c0d69 100644 --- a/NEWS +++ b/NEWS @@ -97,7 +97,7 @@ GNU coreutils NEWS -*- outline -*- Reservoir sampling is used to limit memory usage based on the number of outputs, rather than the number of inputs. - shred increases write block size from 12KiB to 64KiB when possible, + shred increases the default write block size from 12KiB to 64KiB to align with other utilities and reduce the system call overhead. split --line-bytes=SIZE, now only allocates memory as needed rather diff --git a/src/shred.c b/src/shred.c index 98dd8726c..6ff8322c9 100644 --- a/src/shred.c +++ b/src/shred.c @@ -380,7 +380,7 @@ dopass (int fd, char const *qname, off_t *sizep, int type, /* Fill pattern buffer. Aligning it to a page so we can do direct I/O. */ size_t page_size = getpagesize (); -#define PERIODIC_OUTPUT_SIZE (12 * 1024) +#define PERIODIC_OUTPUT_SIZE (60 * 1024) #define NONPERIODIC_OUTPUT_SIZE (64 * 1024) verify (PERIODIC_OUTPUT_SIZE % 3 == 0); size_t output_size = periodic_pattern (type) -- 2.11.4.GIT