I'm a longtime user of CCleaner (and a big fan of Piriform), who just started using the
Fraggler. Not to toot my own horn, but I wrote the first commercial defrag utility for MS-DOS back in 1985, so I know a little about this particular app. Piriforms utility is outstanding. However...
I just defragged an external USB 1TB Seagate drive with about 380,000 files, using roughly 300GB of the drive space. The progress percentage proceeded nicely, and finally got to 100%, but kept going for another half-hour or so. It had reported one remaining file with 2 fragments. Once it hit 100%, I had no way of knowing how far it had gotten, or what it was doing exactly. If there's just one more file to defrag, why not do it and stop? I had no way of knowing when it would finish.
I also noticed that there were a handful of cluster tokens which were still sort of scattered, so I assumed that maybe it was trying to consolidate as well as defrag, which is fine, but it would be helpful to know. Then, because I was trying to fix an unrelated Vista F.UP while I waited for DF to finish, I accidentally hit the reset button...
Upon rebooting, I read your docs and I guess I'll take your word for it that Microsoft's Defrag API is sound (although after nearly 30 years experience with thousands of defects in every OS they have ever produced, I'm still a little worried). I'd feel better if it were possible to do a filesystem integrity check of some kind (or maybe the Analysis step does that already). (?)
This is a minor point, but I thought it worth mentioning.
IMHO, Piriform is one of the most outstanding freeware providers I've seen. I donated, and anyone else who's using these elegant and finely crafted tools should too.