CONVERSION FLOAT -> INT

Signaler
Messages postés
21041
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
-
Messages postés
23
Date d'inscription
samedi 24 janvier 2004
Statut
Membre
Dernière intervention
17 octobre 2004
-
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

Messages postés
23
Date d'inscription
samedi 24 janvier 2004
Statut
Membre
Dernière intervention
17 octobre 2004

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 :)
Messages postés
2070
Date d'inscription
mardi 22 avril 2003
Statut
Membre
Dernière intervention
3 juillet 2006
8
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)
Messages postés
23
Date d'inscription
samedi 24 janvier 2004
Statut
Membre
Dernière intervention
17 octobre 2004

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.
Messages postés
21041
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
29
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...