1. A method of transferring data from a data source to a data destination, the method comprising: receiving a first parameter identifying a data source at a data loader; receiving a second parameter identifying a data destination at the data loader; determining a first value corresponding to the geographic distance between the data source and the data loader; determining a second value corresponding to the geographic distance between the data destination and the data loader; comparing the first value to the second value; determining a number of threads to be used by the data loader based on the comparison; and transferring data from the data source to the data destination using the number of threads.