  Many community detection algorithms have been developed to uncover the
mesoscopic properties of complex networks. However how good an algorithm is, in
terms of accuracy and computing time, remains still open. Testing algorithms on
real-world network has certain restrictions which made their insights
potentially biased: the networks are usually small, and the underlying
communities are not defined objectively. In this study, we employ the
Lancichinetti-Fortunato-Radicchi benchmark graph to test eight state-of-the-art
algorithms. We quantify the accuracy using complementary measures and
algorithms' computing time. Based on simple network properties and the
aforementioned results, we provide guidelines that help to choose the most
adequate community detection algorithm for a given network. Moreover, these
rules allow uncovering limitations in the use of specific algorithms given
macroscopic network properties. Our contribution is threefold: firstly, we
provide actual techniques to determine which is the most suited algorithm in
most circumstances based on observable properties of the network under
consideration. Secondly, we use the mixing parameter as an easily measurable
indicator of finding the ranges of reliability of the different algorithms.
Finally, we study the dependency with network size focusing on both the
algorithm's predicting power and the effective computing time.
