I think it would be great if it didn't use so much of my systems resources...
MS Disk Defrag takes 50 ~ 100MB's
Auslogics Defrag takes 100 ~ 150MB's
Defraggler Defrag takes 1.2 ~ 1.6GB's
I think in terms of the best defragger per MB Auslogic is the best UI because it gives Verbose info on what its doing....
Performance wise MS Defrag is the best.
Options wise Defraggler...
I think you need to look at and optimize your code a bit and better verbose info and logging...