EXT4 Getting Faster Case-Insensitive Performance

Written by Michael Larabel in Linux Storage on 28 June 2019 at 09:45 AM EDT. 70 Comments
LINUX STORAGE
The Linux 5.2 kernel brings optional per-directory case-insensitive filenames/folders while with the Linux 5.3 kernel that new EXT4 feature will see better performance.

The EXT4 case-insensitive support relies upon Unicode case handling and preserves the actual case of the directory/files on-disk. It's the look-up process for checking for case-insensitive matches that is being made faster in the latest EXT4 code ahead of Linux 5.3.

Gabriel Krisman Bertazi of Collabora who worked on this original EXT4 case-insensitive feature has provided this new optimization. The optimization is a temporary cache to handle the case-folded version of the file-names under lookup. By eliminating the repetitive case-folding, Gabriel saw around a 30% speed-up on large directories. But the amount of files in the directory and length of file-name can also change for the impact of this optimization currently queued in the EXT4 dev branch ahead of Linux 5.3.

For those that missed it, Wine-Staging 4.10 added EXT4 case-insensitive support as an optional feature alternative to Wine's old file case handling functionality.
Related News
About The Author
Michael Larabel

Michael Larabel is the principal author of Phoronix.com and founded the site in 2004 with a focus on enriching the Linux hardware experience. Michael has written more than 20,000 articles covering the state of Linux hardware support, Linux performance, graphics drivers, and other topics. Michael is also the lead developer of the Phoronix Test Suite, Phoromatic, and OpenBenchmarking.org automated benchmarking software. He can be followed via Twitter, LinkedIn, or contacted via MichaelLarabel.com.

Popular News This Week