DeAtHCrAsH
Messages postés2670Date d'inscriptionvendredi 25 janvier 2002StatutMembreDernière intervention 6 février 2013
-
2 mai 2010 à 04:48
kml404
Messages postés53Date d'inscriptiondimanche 20 juillet 2008StatutMembreDernière intervention10 octobre 2015
-
1 juin 2010 à 16:09
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.
kml404
Messages postés53Date d'inscriptiondimanche 20 juillet 2008StatutMembreDernière intervention10 octobre 2015 1 juin 2010 à 16:09
bonjour BruNews
j'ai accepte sur bouton de telechargement j'ai fait d'ouvre mais ya de icon Agendat.ex_ ce qui ne peut pas ouvrer. c'est non exe...
BruNews
Messages postés21040Date d'inscriptionjeudi 23 janvier 2003StatutModérateurDernière intervention21 août 2019 9 mai 2010 à 19:08
entre movdqa et movapd, il ne DEVRAIT y avoir aucune difference.
Mais pourtant j'obtiens quasi toujours plus rapide avec movdqa, bizarre mais je m'adapte.
L'ordre des instructions, quand c'est SSE alors il n'y a que les tests pour dire ce qui va mieux.
vecchio56
Messages postés6535Date d'inscriptionlundi 16 décembre 2002StatutMembreDernière intervention22 août 201014 9 mai 2010 à 19:00
Tiens je me suis aperçu qu'en essayant d'améliorer mon code, je l'ai en fait ralenti. J'ai bien vérifié, ca me semble bizarre. Il y a des règles pour le choix de l'ordre des instructions?
vecchio56
Messages postés6535Date d'inscriptionlundi 16 décembre 2002StatutMembreDernière intervention22 août 201014 9 mai 2010 à 18:35
J'arrive à faire un peu plus rapide (je pense que c'est parce que je fais 2 mulss là ou tu en fais 3).
Tu fais moy / 12, puis 6 * moy, ensuite une division par 146
Je pense qu'une de ces instructions est en trop
(Pour y arriver, j'ai divisé en dur les valeurs de TNDCFLT par 146.0f).
Sinon, petite question : quelle différence entre movdqa et movapd?
Si je ne me trompe pas tu as changé d'instruction entre les deux versions.
BruNews
Messages postés21040Date d'inscriptionjeudi 23 janvier 2003StatutModérateurDernière intervention21 août 2019 8 mai 2010 à 22:56
Je regarde ça, merci vecchio.
vecchio56
Messages postés6535Date d'inscriptionlundi 16 décembre 2002StatutMembreDernière intervention22 août 201014 8 mai 2010 à 22:20
au lieu de faire la somme des TNDCFLT[i] * (moy - pTbl[i]), si on développe ca, ca nous donne
6 * moy - (somme des TNDCFLT[i] * pTbl[i])
On s'épargne ainsi de 3 subps
Chez mois je gagne environ 33% de temps (80 au lieu de 120), mais je suis sur une VM, donc je ne sais pas si la mesure est très fiable...
BruNews
Messages postés21040Date d'inscriptionjeudi 23 janvier 2003StatutModérateurDernière intervention21 août 2019 2 mai 2010 à 15:15
QUESTION (à 2 sous):
Comme visible sur la capture d'écran, la plus rapide affiche 31 en perfCounter.
On peut aisément atteindre 28 avec qlqs modifs, LESQUELLES ?
PS: celui à qui je l'ai dit par phone et qui se reconnaitra est prié de s'abstenir.
BruNews
Messages postés21040Date d'inscriptionjeudi 23 janvier 2003StatutModérateurDernière intervention21 août 2019 2 mai 2010 à 10:40
Super le lien, grand merci
DeAtHCrAsH
Messages postés2670Date d'inscriptionvendredi 25 janvier 2002StatutMembreDernière intervention 6 février 2013 2 mai 2010 à 04:48
Salut BruNews,
Superbe exemple d'application des maths dans un contexte de performance. Je ne pense pas qu'il existe de methode "plus rapide" dans ce cas précis.
Les statistiques sont tous sauf précis, surtout pour le calcul des tendances.
Ainsi ton exemple reste a premiere vu le plus "sophistiqué" dans le contexte auquel il se rapporte.
Sur d'autres applications comme le calcul de tendances sur des années ou des mois, il va y avoir du résidu et donc du garbage dans les résultats finaux. Voici un lien qui résume plutot bien le cas :
http://www.jybaudot.fr/Previsions/desaisannuel.html
Bref encore un très bon code source pour les matheux/programmeur :)
1 juin 2010 à 16:09
j'ai accepte sur bouton de telechargement j'ai fait d'ouvre mais ya de icon Agendat.ex_ ce qui ne peut pas ouvrer. c'est non exe...
9 mai 2010 à 19:08
Mais pourtant j'obtiens quasi toujours plus rapide avec movdqa, bizarre mais je m'adapte.
L'ordre des instructions, quand c'est SSE alors il n'y a que les tests pour dire ce qui va mieux.
9 mai 2010 à 19:00
1ere version me donne perf=585:
movapd xmm0, [rdx]
addps xmm0, [rdx + 16]
addps xmm0, [rdx + 32]
haddps xmm0, xmm0
haddps xmm0, xmm0 ; XMM0 = 12 * moy
movapd xmm4, [rdx]
movapd xmm1, [rdx + 16]
movapd xmm3, [rdx + 32]
2eme version me donne perf=607:
movapd xmm4, [rdx]
movapd xmm1, [rdx + 16]
movapd xmm3, [rdx + 32]
movapd xmm0, xmm4
addps xmm0, xmm1
addps xmm0, xmm3
haddps xmm0, xmm0
haddps xmm0, xmm0 ; XMM0 = 12 * moy
9 mai 2010 à 18:35
Tu fais moy / 12, puis 6 * moy, ensuite une division par 146
Je pense qu'une de ces instructions est en trop
(Pour y arriver, j'ai divisé en dur les valeurs de TNDCFLT par 146.0f).
Sinon, petite question : quelle différence entre movdqa et movapd?
Si je ne me trompe pas tu as changé d'instruction entre les deux versions.
8 mai 2010 à 22:56
8 mai 2010 à 22:20
6 * moy - (somme des TNDCFLT[i] * pTbl[i])
On s'épargne ainsi de 3 subps
Chez mois je gagne environ 33% de temps (80 au lieu de 120), mais je suis sur une VM, donc je ne sais pas si la mesure est très fiable...
2 mai 2010 à 15:15
Comme visible sur la capture d'écran, la plus rapide affiche 31 en perfCounter.
On peut aisément atteindre 28 avec qlqs modifs, LESQUELLES ?
PS: celui à qui je l'ai dit par phone et qui se reconnaitra est prié de s'abstenir.
2 mai 2010 à 10:40
2 mai 2010 à 04:48
Superbe exemple d'application des maths dans un contexte de performance. Je ne pense pas qu'il existe de methode "plus rapide" dans ce cas précis.
Les statistiques sont tous sauf précis, surtout pour le calcul des tendances.
Ainsi ton exemple reste a premiere vu le plus "sophistiqué" dans le contexte auquel il se rapporte.
Sur d'autres applications comme le calcul de tendances sur des années ou des mois, il va y avoir du résidu et donc du garbage dans les résultats finaux. Voici un lien qui résume plutot bien le cas :
http://www.jybaudot.fr/Previsions/desaisannuel.html
Bref encore un très bon code source pour les matheux/programmeur :)