For skeptics who are versed in disk drives and NTFS

The program determines the speed approximately, the fight against fragmentation is also about. If you start the scan several times, the results will be slightly different. Nevertheless, in practice, accuracy is quite enough! And I strongly doubt that increasing the accuracy will give a tangible effect. I'd rather give up the power of the new version, which will have direct reading of sectors without pre-writing, blocking sectors with ntfs proprietary tools, as well as completely blocking the broken sectors. But the current version copes with its duties.

Caching files when writing / reading is taken into account in the program.

I'm aware of a heap of speed measurement errors by the current method:

  1. the first time you can not accurately determine the speed of the sector, at least you need to do several passes  
  2. the program reads files, not sectors, which also adds inaccuracies. The file can be fragmented. Time to access the table of files (the table itself can be found partly in slow sectors). Probably some other factors.  
  3. Windows, running applications, and the load created by the program itself, introduce inaccuracies. On fast disks, so in general, periodically arbitrary sectors are defined as slow. But this is not critical.  

Working with fragmentation goes about because:

  1. if there are any files on the disk, at the beginning the test files will fill empty holes (they will be fragmented) and only then the whole will go.
  2. in the process of filling the disk by 100%, the mft zone will decrease several times, making room at the beginning of the disk.
  3. there is a copy of mft and several other system files in the middle of the disk, which will also add additional fragmentation.

The error in measuring speed, causes blockage of excess count of good sectors. But this is not critical, especially given that there is simply no other option for speeding up the disk.

Once again, the current accuracy is enough, it effectively speeds up slow disks .
Warning: mysql_connect(): Access denied for user 'diskfast_site'@'localhost' (using password: YES) in /home/d/diskfast/ on line 48

Notice: Невозможно соединиться с MySQL сервером! in /home/d/diskfast/ on line 50
Невозможно соединиться с MySQL сервером!