Show Your Support: This site is primarily supported by advertisements. Ads are what have allowed this site to be maintained on a daily basis for the past 18+ years. We do our best to ensure only clean, relevant ads are shown, when any nasty ads are detected, we work to remove them ASAP. If you would like to view the site without ads while still supporting our work, please consider our ad-free Phoronix Premium.
GNU Coreutils 9.1 Released With Efficiency Enhancements
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.