Lorsque je (re) construis de gros systèmes sur un ordinateur de bureau / portable, je dis maked'utiliser plus d'un thread pour accélérer la vitesse de compilation, comme ceci:
$ make -j$[ $K * $C ]
Où $Cest censé indiquer le nombre de cœurs (que nous pouvons supposer être un nombre à un chiffre) que possède la machine, alors $Kque je varie de 2à 4, selon mon humeur.
Ainsi, par exemple, je pourrais dire make -j12si j'ai 4 cœurs, indiquant maked'utiliser jusqu'à 12 threads.
Ma justification est que si j'utilise uniquement des $Cthreads, les cœurs seront inactifs pendant que les processus sont occupés à récupérer les données des lecteurs. Mais si je ne limite pas le nombre de threads (c'est-à-dire make -j), je risque de perdre du temps à changer de contexte, à court de mémoire, ou pire . Supposons que la machine ait des $MGo de mémoire (où $Mest de l'ordre de 10).
Je me demandais donc s'il existe une stratégie établie pour choisir le nombre de threads le plus efficace à exécuter.
