Une place pour une véritable innovation. Partagez vos propres utilitaires créés avec la communauté Manjaro.
Questions et discussions sur la programmation et le codage.
Pour les pkgbuilders qui veulent compiler + vite que leur ombre (ou de tout leurs coeurs ): Je suis tombé sur ceci & cela fonctionne plutôt pas mal ! Pour résumer, éditer /etc/makepkg.conf & décommenter la ligne MAKEFLAGS= & lui adjoindre le nombre de coeurs ("-j2" par défaut ce qui correspondait pile/poil à mon cas ) de vôtre processeur ou utiliser "-j$(nproc)" qui ferait ça tout seul (pas testé). J'ai essayé avec une EFL beta que j'avais sur le feu depuis quelque jours & cela va effectivement + vite (en chauffant + aussi !)
"Il semble que la perfection soit atteinte non quand il n'y a plus rien à ajouter, mais quand il n'y a plus rien à retrancher"
Antoine de Saint-Exupéry
hello fassil, justement je viens de voir cette manip, dans les commentaires sur ce paquet Aur. Merci pour tes explications. Très utile pour certains paquets particulièrement chronophages
Manjaro-Xfce-Compiz 64
Desktop
CPU amd-phenom-64(pci=nomsi dans grub)
CG nvidia GeForce GT 730
Ram : 4 Go
kernel : 54 branche : stable, driver GPU : Nvidia-non-libre
"Il semble que la perfection soit atteinte non quand il n'y a plus rien à ajouter, mais quand il n'y a plus rien à retrancher"
Antoine de Saint-Exupéry
Modification faite il y a pas mal de temps, je ne sais plus où j'avais trouvé cette astuce. Le gain est visible sur des grosses compils et oui, on entend un peu plus le ventilo tourner.
Pour éviter le traitement d'un pacnew de plus, il est préférable d'éditer(créer) le fichier ~/.config/pacman/makepkg.conf (voir "comme d'habitude" man makepkg.conf)
#nb cœurs utilisés pour la compilation des programmes
MAKEFLAGS="-j4"
Autres modifications / optimisations selon nos besoins :
Changer le contrôle par défaut
# par defaut c'est md5
# change en plus fort pour mes propres recettes aur
INTEGRITY_CHECK=(sha512)
Lorsque nous créons un paquet (venant de aur), la liste de tous nos paquets présents sur notre machine est insérée dans le paquet (fichier .BUILDINFO) !
Il est possible de ne pas générer cette liste, cela va nous faire gagner quelques secondes et réduire de quelques octets le paquet.
# dépouiller .BUILDINFO
#https://bbs.archlinux.org/viewtopic.php?id=226667
function write_buildinfo() {
msg2 "écrire dans un .BUILDINFO très très allégée"
printf "buildenv = %s\n" "${BUILDENV[@]}"
printf "options = %s\n" "${OPTIONS[@]}"
}
Il n'y a pas que la compilation ! mais aussi la compression du paquet peut prendre du temps ! par défaut nous avons une compression (xz) très optimisée en taille donc plus longue et gourmande en ressources processeur.
# https://wiki.archlinux.org/index.php/Makepkg#Utilizing_multiple_cores_on_compression
# --threads=0 : utilise tous les coeurs
# -0 : compression mini donc très très rapide , paquet augmente la taille de 20%
COMPRESSXZ=(xz -c -z - -0 --threads=0)
note: il est aussi possible d'utiliser .gz mais alors nous n'avons plus de paquets .xz ; ce qui n'est pas top pour une utilisation standardisée de nos paquets. Avec -0 c'est déjà presque aussi rapide que du .gz.
Mais si certains désirent le tester :
# type de compression
#PKGEXT='.pkg.tar.xz' par défaut
#.gz => paquet augmente de 20% par rapport à xz -0 - sans véritable gain de vitesse ?
PKGEXT=".pkg.tar.gz"
Vous pouvez remarquer (avec pacman -Qi ) que les paquets aur n'ont pas de "Paqueteur"
Normal car c'est nous qui avons construit ce paquet.
Il est aussi possible d'indiquer notre petit nom via ce fichier de configuration histoire de ne plus avoir "Paqueteur : Unknown Packager"
PACKAGER="toto <toto@manjaro.fr>"
---------
---------
Notez que je commente "abondamment" mes modifs , c'est plus simple lorsque l'on veut y revenir 2 ans plus tard
Salut,
J'avais fait l'essai de changer de compresseur en modifiant COMPRESSBZ2 pour utiliser lbzip2 au lieu de bzip2, j'avais des gains en temps significatifs sur des gros paquets par rapport à xz (~ 3 fois plus rapide en compression et décompression).