J'essaie de compiler Python 3.6 sur une machine Linux basée sur un bras, ./configure
sort ceci:
Si vous voulez une version compilée avec toutes les optimisations actives (LTO, PGO, etc.), lancez
./configure --enable-optimizations
.
qu'est-ce que --enable-optimizations
faire?
Cet indicateur active l'optimisation guidée par le profil (PGO) et l'optimisation du temps de liaison (LTO).
Ce sont des optimisations coûteuses qui ralentissent le processus de construction mais génèrent une augmentation significative de la vitesse (environ 10 à 20% de ce que je me souviens avoir lu).
La discussion de ce que ces font exactement dépasse mes connaissances et est probablement trop large pour une seule question. Quoi qu'il en soit, vous pouvez en apprendre un peu plus sur LTO à partir de la documentation sur GCC qui a une implémentation correspondante et commencer à utiliser PGO en lisant sa page de wiki .
Voir également les problèmes pertinents ouverts sur le Python Bug Tracker qui les a ajoutés):
--enable-optimizations
drapeau sur le script de configuration qui active les optimisations susmentionnées.)Comme l'a souligné @Shuo dans un commentaire et indiqué dans numéro 28032 , LTO n'est pas toujours activé avec le --enable-optimizations
drapeau. Certaines plateformes ( en fonction de la version prise en charge de gcc
) la désactivent dans le script de configuration.
Cependant, il sera probablement toujours activé dans les futures versions de ce drapeau, il est donc assez sûr de parler d'eux à la fois.