• [^] # Re: un sujet

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


    > "subl 1,ドル %1\n\t"

    et dec c'est pour les chiens ? ;)


    non mais utiliser subl me fait gagner 17 % en temps....



    Tu devrais essayer avec prefetchnta plutôt que prefetcht2

    Essaye aussi un prefetch à une distance de 256, ca peut être plus rapide (tu ne donnes pas la taille moyenne de tes vecteurs).


    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.



    Essaye aussi d'aller dans le sens incrémental pour parcourir ton vecteur (les chipsets sont capables de faire des prefetchs hardware uniquement dans ce sens).


    le parcours à l'envers m'a fait gagner quelques % sur MIPS mais effectivement sur ia32 j'y perd.




    Sinon, vu comme ta boule de calcul est courte, je pense que quasiment tous les gains se feront sur les accès mémoire.


    oui, c'est aussi ma conclusion...