GNU Coreutils 9.5 Can Yield 10~20% Throughput Boost For cp, mv & cat Commands
![GNU](/assets/categories/gnu.webp)
One of the interesting improvements to note with GNU Coreutils 9.5 is that the cp, mv, install, cat, and split commands can now read/write a minimum of 256KiB at a time. Previously there was a 128KiB minimum while this has been doubled in order to enhance the throughput of Coreutils on modern systems. The throughput with Coreutils 9.5 thanks to this change increases by 10~20% when reading cached files on modern systems. The benefit comes from reducing system call overhead. This default I/O size update was last adjusted a decade ago.
GNU Coreutils 9.5 on the security side fixes a race condition with the recursive chmod (chmod -R) where an attacker could replace a traversed file with a symlink to in turn cause chmod to operate on an unintended file. That bug present since the beginning of Coreutils is now fixed.
GNU Coreutils 9.5 also has fixed various warnings when interacting with the CIFS file-system, join and uniq better handle multi-byte characters, tail no longer mishandles input from /proc and /sys file-systems, various new options for different commands, SELinux operations during file copy operations are now more efficient, and tail can now follow multiple processes via repeated "--pid" options.
More details on all of the GNU Coreutils 9.5 changes via the release announcement.
25 Comments