3 ms·
Ah ok good point! I stand corrected. I really doubt cat is smart enough to figure out a suitable block size though. At least with dd you can specify one.
by GekkePrutser 4y ago
Ah ok good point! I stand corrected.
I really doubt cat is smart enough to figure out a suitable block size though. At least with dd you can specify one.
- bhaney 4y ago> I really doubt cat is smart enough to figure out a suitable block size though It seems to try, at least https://github.com/coreutils/coreutils/blob/master/src/cat.c#L648-L649 https://github.com/coreutils/coreutils/blob/master/src/cat.c...
- LukeShu 4y agoGoing through the historical versions (copying from my other comment): - >=9.1 (2022-04-15) : Use the `copy_file_range()` syscall and let the kernel figure it out - >=8.23 (2014-07-18) : max(128KiB, st_blksize(infile), st_blksize(outfile)) - >=8.17 (2012-05-10) : max(64KiB, st_blksize(infile), st_blksize(outfile)) - >=7.2 (2009-03-31) : max(32KiB, st_blksize(infile), st_blksize(outfile)) - at least as far back as 1996 : max(st_blksize(infile), st_blksize(outfile)) (In my psuedo-code, `st_blksize(fd)` is the `ST_BLKSIZE(buf)` of the result of `fstat(fd, buf)`.)