The first time any
synchronization takes place should be the longest running, slowest invocation
of that synchronizer. From then on, only modified documents will be synchronized,
which should result in significantly faster synchronization times. The key here
is to synchronize frequently so that the modifications don't accumulate. Synchronizing
once a month will take longer than synchronizing each day.
A few other factors can affect performance that you should be aware of. Application
of rules can significantly increase the amount of time that synchronization
requires, depending on the quantity and complexity of those rules. Of course,
if you need to apply rules, there's nothing you can do about it. Just be aware
of this so that you don't go creating excessive, unnecessary rules.
During synchronization, logging to a synchronizer's local log can also eat up
time. Verbose logging can be a significant consumer of time. Again, if you have
a need to see a detailed log of each synchronization, there's nothing you can
do about this. However, if you don't really need a detailed log, leave verbose
logging turned off.
Executing a Synchronizer Document from the scheduler is faster if the corresponding
document window is not open. Providing progress to the user consumes a bit of
CPU power and thus slows things down. Again, unless you actually need to see
the synchronization occur, leave the document window closed when running scheduled
executions.