I found a way to reduce the length of defragmentation time and therefore would like to tell you.
If I turn off the "System Restore" function before defragmentation, it significantly reduces the defragmentation time, e.g. from usually an hour to only 15-20 minutes (HDD 500GB, 15% used). Because during the defrag, the files were moved back and forth and Windows always creates new restore points, which makes the duration time damn long and even reduces the free volume thereafter! This is due to the behavior of Windows.
After defragmenting I turn the "System Restore" back on and create a new restore point, just in case.
Can you program the defraggler so that the "System Restore" feature can be switched off automatically, you'll get the shortest defrag time of all times
Regards
PS. My system: Windows 7 Ultimate 64bit, Core i3, RAM 4GB