CONVERSION FLOAT -> INT

BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019 - 20 févr. 2004 à 20:22
ccarniel Messages postés 23 Date d'inscription samedi 24 janvier 2004 Statut Membre Dernière intervention 17 octobre 2004 - 20 févr. 2004 à 23:24
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/20631-conversion-float-int

ccarniel Messages postés 23 Date d'inscription samedi 24 janvier 2004 Statut Membre Dernière intervention 17 octobre 2004
20 févr. 2004 à 23:24
non un XP1700+ tourne à 1466MHz.
Sinon les ratio par rapport au Celeron 800 ne me choquent pas plus que ça.

J'ai utilisé Studio.Net pour changer mes paramètres, celui qui dépote vraiment c'est celui qui active SSE, bien plus que le type de processeur.
Ca se trouve sous C/C++ (Code Generation) : Enable Enhanced Instruction Set. Là, j'ai activé SSE.
Je ne sais pas si c'était déjà dispo sous VC++ 6.

Voili, voilou, bonne nuit, je vais me coucher :)
ymca2003 Messages postés 2070 Date d'inscription mardi 22 avril 2003 Statut Membre Dernière intervention 3 juillet 2006 7
20 févr. 2004 à 23:16
ccarniel : j'ai juste une petite question, ton processeur il tourne à 1700 MHz?
si oui comment ça se fait qu'avec la fonction ftoi il n'est pas plus rapide que ça?

j'ai essayé en modifiant les paramètres du projet sur le type de processeur et ça change que dal (au passage les essais sont en mode Release avec VC 6.0)
ccarniel Messages postés 23 Date d'inscription samedi 24 janvier 2004 Statut Membre Dernière intervention 17 octobre 2004
20 févr. 2004 à 22:15
Si je prends ton code tel quel, j'obtiens les temps suivants:
4356 en calcul flottant
4166 en passant par ta routine ftoi
donc ta fonction semble mieux que ce qui est prévu par le compilateur.
Ma config est un Athlon XP1700+, mais peu importe.

Toutefois, si je modifie les paramètres du projet et que je lui permet d'utiliser le jeu d'instruction PIII et surtout les instructions SSE (présentes sur les Athlon XP), alors j'obtiens:
3155 en calcul flottant
4336 en passant par ta routine ftoi

Ce que je veux dire par là, c'est que l'optimisation du code n'était que dans ta routine C, le compilateur n'avait pas le droit d'utiliser tout son potentiel d'optimisation (pour pouvoir tourner sur 386 par exemple, c'est nécessaire).

A l'avenir si tu cibles des machines récentes dans tes programmes regarde aussi du coté des paramètres du projet, il y a aussi des choses à optimiser là :)

En tous cas, la démarche est bonne, il faut toujours être curieux.
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
20 févr. 2004 à 20:22
Salut,

http://www.movsd.com/
tu pourras y prendre MASM32 et dans son dossier Help se trouve Agner.hlp qui detaille tout cela et plus encore.

Exemple a suivre dans tous les cas, ne pas craindre d'aller voir ce que produit le compilo et tenter de faire mieux ne peut pas nuire.

ciao...
Rejoignez-nous