Amount of time: not much, BUT it tends to be in batches, so having 5-15 reloads stacked is bad news.
Even if changing the cat directory, that's only going to affect files saved in from that point - and if it needs rescanning why not scan just that directory instead of the whole lot?
$ wc -l /amule/shareddir.dat
1852 /amule/shareddir.dat
2012-04-15 02:11:58: SharedFileList.cpp(377): Found 24403 known shared files, 2 unknown
Scanning that lot (~7Tb) adds up - especially when the storage is on NFS, not directly attached - current completion time runs to about 5-7 minutes per run, more if rehashing is required.