IdentifiantMot de passe
Loading...
Mot de passe oubli� ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les r�ponses en temps r�el, voter pour les messages, poser vos propres questions et recevoir la newsletter

C++ Discussion :

Optimisation sur les types.


Sujet :

C++

Vue hybride

Message pr�c�dent Message pr�c�dent   Message suivant Message suivant
  1. #1
    Nouveau candidat au Club
    Profil pro
    Inscrit en
    F�vrier 2008
    Messages
    2
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : F�vrier 2008
    Messages : 2
    Par d�faut Optimisation sur les types.
    Bonsoir � tous,

    Voila je me posait quelques questions concernant les optimisations sur types en c++.

    En c++ concr�tement � quoi correspond short, int, long etc.
    J'ai cru comprendre que �a changeait fortement en fonction de l'archi, du syst�me, du compilo etc. J'ai cru comprendre que gr�ce � typedef il �tait possible de forcer la taille de ses types primaires. Est-ce portable comme m�thode.

    Et puis surtout concr�tement est-ce que c'est rentable d'optimiser le stockage des infos sur le type le plus petit, ou bien �a n'impacte pas les perfs. Par exemple en mettant un short au lieu d'un int sur un truc qui ne sera pas tr�s �lev�, est-ce que �a va impacter les performances, ou bien le short sera converti en int lors du traitement par le proc ? ou pas ? Les compilos font-ils ce genre d'optis ? Est-ce que �a va concr�tement r�duire l'empreinte m�moire en stockant en short plut�t qu'en int ou bien �a ne sera pas le cas par l'alignement des mots en m�moire.

    Autre question dans la m�me s�rie est-ce que l'utilisation de "champs de bits" peut r�duire l'empreinte m�moire et am�liorer les performances ?

    Ex: Prenons un jeu de strate temps r�el, avec des milliers d'unit�s. Bah plut�t que d'avoir pleins de variables avec la vie des unites, leur armure, leur puissance d'attaque contre unites � terre, volantes (0 par exemple si �a ne peux tirer en l'air), si comme dans war3 �a g�re aussi les types de d�g�ts (per�ant / contondants) et les types d'armures l�g�res lourdes, cuir, maille, plaques etc, les vitesses de d�placement. �a commence a faire un sacr� gros paquet de variables surtout si l'ont multiplie par le nombre d'unit�s, pour des valeurs tr�s petites (Ex:Une unit� avec beaucoup de puissance d'attaque aura de 1 � 5 �toiles affich� � l'�cran, donc 3 bits suffisent pour cette information en m�moire).

    Donc dans un cas comme �a est-ce que l'utilisation de "champs de bits" peuvent �tre int�ressant niveau consommation m�moire et au niveau des perfs. Ou �a ne sert � rien de ce faire chier ?

    Certes plut�t que me pr�occuper de ces quelques broutilles je sais bien que je devrais me soucier d'abord par exemple de finaliser un programme et optimiser ensuite, etc. N�anmoins j'ai horreur des bloatwares et je ne voudrais pas en d�velopper moi m�me.

    Merci d'avance pour vos r�ponses

  2. #2
    Expert �minent
    Avatar de M�dinoc
    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 397
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 41
    Localisation : France

    Informations professionnelles :
    Activit� : D�veloppeur informatique
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 397
    Par d�faut
    Les champs de bits peuvent r�duire la taille, mais g�n�ralement au d�triment de la vitesse (s'il faut faire des d�calages de bit lors des acc�s).

    Et puis, dans un jeu de strat�gie, on stocke rarement toutes ces caract�ristiques dans chaque unit�: G�n�ralement, une unit� n'a besoin que de sa position sur la carte (et encore pas toujours), sa vie actuelle, ses munitions actuelles, etc., alors que le niveau d'armure, les points de vie maximum, les munitions maximum etc. sont partag�es pour toutes les unit�s d'un m�me type...
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parl� avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  3. #3
    Invit�
    Invit�(e)
    Par d�faut
    lfmarante,

    La r�gle lorsqu'on programme, c'est d'abord d'�crire un programme correct, et apr�s, s'il y en a besoin, d'utiliser des outils sp�cifiques pour mesurer les performances pour savoir exactement quoi optimiser, chiffres � l'appui.

    Je t'assure qu'au niveau o� tu es, tu n'arriveras jamais � optimiser ton code aussi bien que le compilateur avec les r�glages pour performances optimales.

    C'est chiant, mais toute autre attitude est une perte de temps.

    Carl

  4. #4
    Nouveau candidat au Club
    Profil pro
    Inscrit en
    F�vrier 2008
    Messages
    2
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : F�vrier 2008
    Messages : 2
    Par d�faut
    ok ok c'est bien ce qu'il me semblait. Merci pour les explications.
    M�dinoc > C'�tait juste un exemple, un peu con je dois avouer.

  5. #5
    Invit�
    Invit�(e)
    Par d�faut
    Hmm, d�sol� d'avoir �t� un peu sec, mais s'il y a une v�rit� bien �tablie, c'est vraiment qu'il ne sert � rien � optimiser trop t�t, � toutes les �chelles. L'apprentissage du C++ a d�j� bien bien des ann�es de plaisir � te procurer avant d'en arriver l�. Profites-en!

    Carl

Discussions similaires

  1. Pr�cision sur les types Enum et Set
    Par Djakisback dans le forum Requ�tes
    R�ponses: 2
    Dernier message: 22/12/2006, 13h36
  2. Questions sur les types �num�r�s
    Par Premium dans le forum Langage
    R�ponses: 5
    Dernier message: 12/11/2006, 18h00
  3. [SQL 2000] Question sur les types de donn�es
    Par Angath dans le forum MS SQL Server
    R�ponses: 4
    Dernier message: 03/11/2006, 14h05
  4. [NTFS]explication sur les type de droits
    Par arnolem dans le forum S�curit�
    R�ponses: 6
    Dernier message: 19/04/2006, 12h52
  5. Renseignement sur les "types" d'asm
    Par Coussati dans le forum Assembleur
    R�ponses: 4
    Dernier message: 10/01/2006, 14h28

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo