• [^] # Re: un sujet

    Posté par . En réponse au journal Optimisation de code C. Évalué à 1.

    non mais utiliser subl me fait gagner 17 % en temps....
    Problème de scheduling. Bienvenue dans la magie de l'execution out of order :)
    Essaye de bouger un peu le dec entre les instructions flottantes.

    j'ai fait le test avec 256 et c'est les meme resultat qu'avec 128. La taille des vecteurs varie entre 1 et 1500. Dans un meme calcul, il peut y avoir des vecteur de toute taille.
    Ah, mais 1500 c'est tout petit !

    Essaye d'insérer des prefetch à intervalle de 64 avant la boucle :

    prefetchtnta (...)
    prefetchtnta 64(...)

    Bien sûr, ne dépasse pas l'endroit où tu préfetches dans la boucle (ne mets pas un 128 si il y en a deja un dans la boucle, quoi).