From 1a1974a27ef5ed51bed6e5471db9ae847bb95584 Mon Sep 17 00:00:00 2001
From: Jim Meyering <meyering@fb.com>
Date: Thu, 8 May 2014 11:11:25 -0700
Subject: [PATCH] cat,cp,split: use a larger buffer for copying

* src/ioblksize.h (io_blksize): Double the size, to 128KB.
---
 src/ioblksize.h | 32 ++++++++++++++++++--------------
 1 file changed, 18 insertions(+), 14 deletions(-)

diff --git a/src/ioblksize.h b/src/ioblksize.h
index dfdaff4..264db41 100644
--- a/src/ioblksize.h
+++ b/src/ioblksize.h
@@ -36,20 +36,24 @@
    system-1 = 1.7GHz pentium-m with 400MHz DDR2 RAM, arch=i686
    system-2 = 2.1GHz i3-2310M with 1333MHz DDR3 RAM, arch=x86_64
    system-3 = 3.2GHz i7-970 with 1333MHz DDR3, arch=x86_64
+   system-4 = 2.20GHz Xeon E5-2660 with 1333MHz DDR3, arch=x86_64
+   system-5 = 2.30GHz i7-3615QM with 1600MHz DDR3, arch=x86_64
+   system-6 = 1.30GHz i5-4250U with 1-channel 1600MHz DDR3, arch=x86_64
+
+   blksize  system-1   system-2   system-3   system-4   system-5   system-6
+   ------------------------------------------------------------------------
+      1024  734 MB/s   1.7 GB/s   2.6 GB/s   642 MB/s   1.0 GB/s   2.5 GB/s
+      2048  1.3 GB/s   3.0 GB/s   4.4 GB/s   1.2 GB/s   2.0 GB/s   4.4 GB/s
+      4096  2.4 GB/s   5.1 GB/s   6.5 GB/s   2.3 GB/s   3.7 GB/s   7.4 GB/s
+      8192  3.5 GB/s   7.3 GB/s   8.5 GB/s   4.0 GB/s   6.0 GB/s  10.4 GB/s
+     16384  3.9 GB/s   9.4 GB/s  10.1 GB/s   6.3 GB/s   8.3 GB/s  13.3 GB/s
+     32768  5.2 GB/s   9.9 GB/s  11.1 GB/s   8.1 GB/s  10.7 GB/s  13.2 GB/s
+     65536  5.3 GB/s  11.2 GB/s  12.0 GB/s  10.6 GB/s  12.8 GB/s  16.1 GB/s
+    131072  5.5 GB/s  11.8 GB/s  12.3 GB/s  12.1 GB/s  14.0 GB/s  16.7 GB/s
+    262144  5.7 GB/s  11.6 GB/s  12.5 GB/s  12.3 GB/s  14.7 GB/s  16.4 GB/s
+    524288  5.7 GB/s  11.4 GB/s  12.5 GB/s  12.1 GB/s  14.7 GB/s  15.5 GB/s
+   1048576  5.8 GB/s  11.4 GB/s  12.6 GB/s  12.2 GB/s  14.9 GB/s  15.7 GB/s
 
-   blksize  system-1   system-2   system-3
-   ---------------------------------------
-      1024  734 MB/s   1.7 GB/s   2.6 GB/s
-      2048  1.3 GB/s   3.0 GB/s   4.4 GB/s
-      4096  2.4 GB/s   5.1 GB/s   6.5 GB/s
-      8192  3.5 GB/s   7.3 GB/s   8.5 GB/s
-     16384  3.9 GB/s   9.4 GB/s  10.1 GB/s
-     32768  5.2 GB/s   9.9 GB/s  11.1 GB/s
-     65536  5.3 GB/s  11.2 GB/s  12.0 GB/s
-    131072  5.5 GB/s  11.8 GB/s  12.3 GB/s
-    262144  5.7 GB/s  11.6 GB/s  12.5 GB/s
-    524288  5.7 GB/s  11.4 GB/s  12.5 GB/s
-   1048576  5.8 GB/s  11.4 GB/s  12.6 GB/s
 
    Note that this is to minimize system call overhead.
    Other values may be appropriate to minimize file system
@@ -64,7 +68,7 @@
    In the future we could use the above method if available
    and default to io_blksize() if not.
  */
-enum { IO_BUFSIZE = 64*1024 };
+enum { IO_BUFSIZE = 128*1024 };
 static inline size_t
 io_blksize (struct stat sb)
 {
-- 
1.9.0.rc3.9.ge265f1f

