Like i said, it will get faster and faster. I have Diskeeper 7 and it took a long time the first 4 or 5 times. I now have it set to run every 8 hours and it starts and finishes in about 30-60 seconds.
Avoid third party defraggers that aren't compliment with XP's built-in optimization cycle (such as Norton's Speed Disk). If you use one that doesn't compliment it, you'll get a lot of disk activity and reduced performance because XP will be putting stuff back where it wants it. I suggest either using the built-in defrag utility, or getting a copy of Diskeeper (the built-in is actually a bargain basement version of Diskeeper). I'm not positive, but i think Exectutive Software has a trial version of Diskeeper 7 that you could get to at least do the bulk of your defragging with and then revert back to the built in one.