4.5. À propos des SBU

Beaucoup de personnes souhaitent savoir à l'avance combien de temps la compilation et l'installation de chaque paquet va prendre. Linux From Scratch est construit sur tellement de systèmes différents qu'il est impossible d'en estimer la durée précise. Le plus gros paquet (gcc) met approximativement 5 minutes sur les systèmes les plus rapides mais peut prendre plusieurs jours sur les moins rapides ! Plutôt que de donner des délais précis, nous utilisons les SBU (Standard Build Units).

La mesure des SBU fonctionne de cette manière : le premier paquet que vous compilez dans ce livre est binutils dans le Chapitre 5. Le délai de compilation de ce paquet avec un unique cœur correspond à ce que nous appelons un SBU. Tous les autres délais de compilation sont exprimés par rapport à celui-ci.

Par exemple, prenez un paquet spécifique dont le temps de compilation correspond à 4,5 SBU. Cela signifie que s'il vous a fallu 4 minutes pour compiler et installer la première passe de Binutils, alors vous savez qu’il faudra environ 18 minutes pour construire ce paquet. Heureusement, la plupart des délais de construction sont bien plus courts que celui de binutils.

En général, les SBU ne sont pas précis, car ils prennent trop de facteurs en compte, par exemple la version de GCC sur votre machine hôte. Ils sont fournis ici pour donner une estimation du temps nécessaire pour installer un paquet, mais ces nombres peuvent varier de plusieurs dizaines de minutes dans certains cas.

Sur certains systèmes récents, la carte mère peut contrôler la vitesse de l'horloge système. Cela peut être contrôlé avec une commande comme powerprofilesctl. Elle n'est pas disponible dans LFS, mais peut être disponible sur la distribution hôte. Après la complétion de LFS, elle peut être ajoutée au système avec les procédures de la page BLFS sur power-profiles-daemon. Avant de mesurer le temps de construction d'un paquet il est recommandé d'utiliser un profil d'énergie système configuré pour les performances maximum (et la consommation d'énergie maximum). Sinon les SBU mesurés peuvent être imprécis car le système peut réagir différemment lors de la construction de binutils-pass1 ou d'autres paquets. Soyez conscient qu'un grand nombre d'imprécisions peut toujours apparaître même si le même profil est utilisé pour les deux paquets car le système peut répondre plus lentement si le système est en attente lorsque la procédure de construction démarre. Utiliser le profil d'énergie « performance » minimisera ce problème. Évidemment, cela accélérera également la construction de LFS.

Si powerprofilesctl est disponible, exécutez la commande powerprofilesctl set performance pour choisir le profil performance. Certaines distributions fournissent la commande tuned-adm pour gérer les profils au lieu de powerprofilesctl. Sur ces distributions, exécutez la commande tuned-adm profile throughput-performance pour choisir le profil throughput-performance.

[Note]

Note

Si vous utilisez plusieurs processeurs de cette façon, les unités de SBU du livre varieront encore plus que la normale. Dans certains cas, l'étape make échouera. L'analyse de la sortie du processus de construction sera aussi plus difficile, car les lignes des différents processus seront mélangées. Si vous rencontrez un problème à une étape de la construction, revenez à une construction avec un seul processeur pour analyser correctement les messages d'erreur.

Les délais présentés ici pour tous les paquets (sauf binutils-pass1 qui se base sur un seul cœur) se basent sur l'utilisation de quatre cœurs (-j4). Les délais du chapitre 8 comprennent aussi le temps nécessaire à lancer les tests de non-régression pour les paquets, sauf mention contraire.