GNU Coreutils 9.1 Released With Efficiency Enhancements
GNU Coreutils 9.1 is out this weekend as the latest feature update to these widely-used core utilities on Linux and other platforms with supplying cp, cat, ls, and other common commands.
GNU Coreutils 9.1 features a wide range of fixes, improvements, and other alterations. Exciting me with GNU Coreutils 9.1 are various efficiency improvements like cat now using the copy_file_range system call to other commands using more optimal syscalls for greater efficiency.
Some of the highlights with Coreutils 9.1 include:
- The cat command now uses the copy_file_range system call where available when doing simple copies between regular files. In turn this should be more efficient with possible copy offloading / reflinking. The copy_file_range syscall is used for copying a range of data from one file to another -- between two file descriptors without having to go through user-space.
- The cp, mv, and install commands now use the openat-like system calls when copying to a directory, which will avoid some race conditions and be more efficient.
- The ls command no longer colors files with capabilities by default, since they are rarely used and increases processing time by about 30% per file.
- The ls and stat commands will no longer try to auto-mount files by default, reverting to earlier behavior.
- Recursive chmod'ing with chmod -R will no longer exit with an error status if encountering symlinks.
- Fixing copy (cp) behavior on macOS that could lead to a miscopy issue if copying from an Apple APFS file-system to some other file-system. There are other macOS fixes too as well as cp now creating a copy-on-write clone when the source and destination are regular files on APFS.
More details on all the Coreutils 9.1 changes via GNU.org.
GNU Coreutils 9.1 features a wide range of fixes, improvements, and other alterations. Exciting me with GNU Coreutils 9.1 are various efficiency improvements like cat now using the copy_file_range system call to other commands using more optimal syscalls for greater efficiency.
Some of the highlights with Coreutils 9.1 include:
- The cat command now uses the copy_file_range system call where available when doing simple copies between regular files. In turn this should be more efficient with possible copy offloading / reflinking. The copy_file_range syscall is used for copying a range of data from one file to another -- between two file descriptors without having to go through user-space.
- The cp, mv, and install commands now use the openat-like system calls when copying to a directory, which will avoid some race conditions and be more efficient.
- The ls command no longer colors files with capabilities by default, since they are rarely used and increases processing time by about 30% per file.
- The ls and stat commands will no longer try to auto-mount files by default, reverting to earlier behavior.
- Recursive chmod'ing with chmod -R will no longer exit with an error status if encountering symlinks.
- Fixing copy (cp) behavior on macOS that could lead to a miscopy issue if copying from an Apple APFS file-system to some other file-system. There are other macOS fixes too as well as cp now creating a copy-on-write clone when the source and destination are regular files on APFS.
More details on all the Coreutils 9.1 changes via GNU.org.
7 Comments