Performance difference between various file pull order options?

Is there any noticeable difference in performance between the available six file pull order settings? I have always set it to smallestFirst, because I thought that it would be more useful to get small files quicker, but the Docs specifically state that

random
    Pull files in random order. This optimizes for balancing resources among the devices in a cluster.

which would mean that random is the best for optimal performance.

My question then would be - is it actually better to just use random instead of the other ones in order to be able to download files quicker (especially in a multi-device environment), and if yes, how much of a difference will it make in reality?

Also, is there any performance impact of having Syncthing re-order the queue according to name/size/date when using the other options, especially on slower hardware?

I don’t think the reordering the queue is expensive, as even “random” reorders the queue.

The idea is that if everyone is pulling smallest files first, everyone is pretty much downloading the same files, which means that the files are pretty much only available on a single source, so all traffic goes to a single source.

With random, the files are random, so at the point you get to some file, it might have been an earlier file someone else had downloaded, in which case you get bandwidth split between the two.

1 Like