• # Parfois l'homme est meilleur que la machine

    Posté par . En réponse au journal Recherche de valeur dans un tableau et l'écosystème des compilateurs C++. Évalué à 2. Dernière modification le 04 octobre 2021 à 11:57.

    Par expérience, il y a des cas où faire les optimisations à la main (via les intrinsics ou directement en asm) est, à l'heure actuelle, toujours supérieure aux compilateurs.

    #MyLife
    Durant ma thèse (2017), j'ai développé un code de simulation multifluide de décharges plasmas. Et l'un des solveurs utilisés pour résoudre calculer le potentiel électrique devait calculer alternativement les indices pairs puis les indices impairs. Ecrit correctement et avec les bons optimisations, le compilateur produisait un code sympathique. Mais une analyse de l'assembleur a révelé qu'il y avait possibilité de faire mieux.
    Avec l'aide des intrinsics (et d'un peu d'assembleur pour forcer GCC), j'ai pu gagner un gain d'un facteur ~ 4 en monocoeurs. (Evidemment, la grille de calcul était séparé sur les différents coeurs).
    #MyLife

    Bref, il existe encore des cas concrets où l'humain surpasse le compilateur.