1

I've seen discussions about it being fine to have a large block size on drives where large files will be stored because not much space will be wasted. But will it also help to speed up reading? I'm referring to noticeable gain in speed.

Assume NTFS, Windows 7 x64.

3

1 Answer 1

2

For rotating hard drives you might get an wee (~1%) increase in performance on larger files if you're lucky which is negligible. For SSD hard drives you'll see no difference at all.

The reason why there's hardly any performance difference is because the underlying hardware (CPU, SATA controller, HDD controller) in modern PCs is so performant that read speed is effectively limited only by the physics of reading the data off the storage medium itself.

In other words, reading 1024 contiguous pieces of 4KB takes just as long as reading 64 contiguous pieces of 64KB. Sure, you're asking the hardware for data 1024 times vs 64 times, but the overhead is ridiculously small.

When I fish out some benchmarks to back this up I'll add them here.

3
  • Should be noted that the primary benefit in choosing larger cluster sizes is that it will reduce the likelihood of fragmentation in larger files.
    – misha256
    Jan 26, 2015 at 23:21
  • But wouldn't the reduced fragmentation cause a noticeable speed difference? (If not - why does the fragmentation matter?)
    – ispiro
    Jan 26, 2015 at 23:40
  • 2
    Most modern filesystems (and filesystem drivers, and OSes) deal pretty well with fragmentation already. Fiddling with the block size is something you might do as a last-resort optimisation, when you really want to squeeze out every last drop of performance - but the effect isn't really significant in most cases, and is often detrimental. (Possible exception: if you can match it up with an SSD's page size and align it properly, you can save on some moving around, though the total effect is likely negligible especially with TRIM.)
    – Bob
    Jan 26, 2015 at 23:54

Not the answer you're looking for? Browse other questions tagged .