What takes so long in the fitting procedure is the histo. TuningData.buildBinDistList function, which by default uses all the Observables found in a TuningData object in order to do the interpolation for all bins for a given set of runs.
To speed things up one could decide for a distinct observable rather than all of them. The choice which to pick could be made by a sensitivity calculation which is still under heavy development.
Another interesting but not yet understood observation is the fact that the time needed for the execution of the function mentioned above does not linearly depend on the number of bins that the histos of a certain observable have.
For example, on my machine for a 1D parameter scan this function takes 0.044 seconds for a 10 bin observable, 0.5 seconds for a 50 bin observable and 1.6 seconds for a 100 bin observable. (see picture below)
In the following pictures you can see 1D fitresults using the observables mentioned above. For the observables with 50 and 100 bins all possible combinations for 18, 19 and 20 runs were used. For 10 bins also 17 runs were used.
It is quite obvious that the quality of the fit improves with the number of bins. As I recall it, the histos were produced with a parameter value of 0.15 which appears to be the center of the larger peak in the 50 and 100 bin case.
The 10 bin results are worse and they are very likely to destroy a very good fitresult obtained from the 100 bin case if one uses all observables in a TuningData object.