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 :

[gain de perf] const


Sujet :

C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de ZaaN
    Inscrit en
    Novembre 2005
    Messages
    819
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 819
    Par défaut [gain de perf] const
    salut,

    mettre le mot clé const apres les signatures de fonction a t'il une influence sur les performances et/ou est-ce juste un moyen de forcer la fonction a ne pas modifier les membres ?

  2. #2
    Membre éprouvé
    Avatar de NiamorH
    Inscrit en
    Juin 2002
    Messages
    1 309
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 1 309
    Par défaut
    Quelqu'un rectifiera si je me trompe mais je crois que c'est une indication de plus pour le compilateur qui peut ainsi parfois optimiser le code généré.

  3. #3
    r0d
    r0d est déconnecté
    Membre expérimenté

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    4 290
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2004
    Messages : 4 290
    Billets dans le blog
    2
    Par défaut
    Bonjour,

    d'aprés le gotw #81, la const conformité n'apporte rien au niveau des performances, sauf cas exceptionnels que je n'ai pas compris.

    En revanche, je pense qu'il est trés utile de conserver la const conformité pour des raisons sémantiques. Lorsqu'un code est const conforme, on peut appréhender directement diverses informations sur une fonction en regardant uniquement sa signature.

    Enfin, pour l'optimisation, mieux vaut chercher du côté du passage par référence et, plus généralement, éviter les copies inutiles (attention aux copies cachées), que du côté de la const conformité.

  4. #4
    Membre Expert
    Avatar de poukill
    Profil pro
    Inscrit en
    Février 2006
    Messages
    2 155
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 2 155
    Par défaut
    Je plussoie rOd, et j'ai ouië dire, sur ce forum, que le compilateur pouvait effectuer des optimisations lorsqu'il croisait une fonction const sur son chemin...
    Donc bonne pratique de programmtion + clarté dans le code + efficacité...

  5. #5
    yan
    yan est déconnecté
    Rédacteur
    Avatar de yan
    Homme Profil pro
    Ingénieur expert
    Inscrit en
    Mars 2004
    Messages
    10 035
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur expert
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2004
    Messages : 10 035
    Par défaut
    ES qu'un compilo pourrai remplacer

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    void func(const Maclass a)
    par
    ???
    comme "a" est const, il ne sera pas modifié et donc pas besoin de faire une copie

  6. #6
    Rédacteur
    Avatar de Laurent Gomila
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2003
    Messages
    10 651
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 10 651
    Par défaut
    Non, pour plein de raisons. D'une part un objet const peut être modifié (s'il a des membres déclarés mutable), ou s'il est const_casté. D'autre part, une copie ne peut pas toujours être éliminée trivialement, elle peut avoir des effets de bords. Et il y a certainement d'autres raisons auxquelles je ne pense pas.

    Tu as lu le GOTW donné en lien un peu plus haut par r0d ? Il y a pas mal d'explications.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [3.5] -> [4] Gain de fonctionnalité ET / OU perf ?
    Par CUCARACHA dans le forum Framework .NET
    Réponses: 2
    Dernier message: 26/09/2010, 11h46
  2. JBoss 4.0.2 > JBoss 5, gains de perf ?
    Par skin_1_2_3 dans le forum Wildfly/JBoss
    Réponses: 0
    Dernier message: 22/12/2009, 23h20
  3. gain stockage olap
    Par colomban dans le forum Décisions SGBD
    Réponses: 5
    Dernier message: 15/05/2003, 15h24
  4. Outils linux pour surveiller les perf d'un serveur ?
    Par MASSAKA dans le forum Applications et environnements graphiques
    Réponses: 2
    Dernier message: 22/10/2002, 10h40
  5. ListView->Items->Clear() !!! Qques probl de perf
    Par Nicolas_a69 dans le forum C++Builder
    Réponses: 3
    Dernier message: 30/08/2002, 11h49

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