• [^] # Re: Option -static-libgfortran

    Posté par (site web personnel, Mastodon) . En réponse au journal Encore des nouvelles de Fortran. Évalué à 6. Dernière modification le 06 mai 2021 à 17:31.

    Le -static-libgfortran m'a été susurré par un développeur de gfortran. Je l'ai testé sur un petit algorithme de calcul de Pi par Monte Carlo et voici ce que j'obtiens en temps de calcul et en taille d'exécutable en fonction des drapeaux :

    normal : 20,1 s ; 17 ko
    -static : 19,4 s ; 1,3 Mo
    -static-libgfortran : 18,8 s ; 287 ko

    Apparemment, ça embarque moins de choses dans l'exécutable, mais c'est un peu plus rapide (-3 %, c'est modeste mais c'est toujours ça de gagné quand c'est long). J'ai cru comprendre que le -static-libgfortran permettait d'embarquer les fonctions intrinsèques du langage situées dans libgfortran comme RANDOM_NUMBER() que j'utilise dans mon test. Donc pour cette librairie c'est en static et pour les autres en shared.

    J'ai trouvé ça, mais c'est un peu court jeune homme :
    https://gcc.gnu.org/onlinedocs/gfortran/Link-Options.html#Link-Options

    Je vais demander à la personne de m'expliquer plus précisément les choses. Et je posterai si j'ai une réponse claire.

    Après, bien sûr, ça améliore les choses sur ce programme-là, mais ça n'est pas forcément une loi générale. A tester pour chaque programme, comme c'est souvent le cas en optimisation.