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 :

Probléme avec pow() en 64bits


Sujet :

C++

  1. #1
    Membre éprouvé Avatar de uriotcea
    Homme Profil pro
    Ingénieur / physicien
    Inscrit en
    Septembre 2003
    Messages
    1 301
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur / physicien
    Secteur : Service public

    Informations forums :
    Inscription : Septembre 2003
    Messages : 1 301
    Par défaut Probléme avec pow() en 64bits
    Bonjour,

    J'ai passé un code 32bits en 64bits sous windows avec Mingw-64 Gcc4.5 et la version 64bits est 3 fois plus lente que la 32 bits.
    J'ai profiler un peu tout ca et je me suis appercu que mon code passer tout son temp dans la fonction pow(...).
    J'ai redéfinit moi même cette fonction et là miracle la version 64bits est 30% plus rapide que la 32bits.
    Quelle est donc le probléme avec cette fonction pow() ?

    De plus j'ai du remplacer tous mes appels à pow par my_pow parce que quand je redefinit directement pow le code ne semble plus vouloir se lancer.
    Il y a t-il une methode propre pour redefinir une fonction mathématique ?

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2010
    Messages
    33
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2010
    Messages : 33
    Par défaut
    Bonjour,

    Essaye en compilant avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    g++ -W -Wall -Werror -Wcast-align
    Voir si une erreur ne trainerait pas dans le coin. Ou en utilisant un outil genre cppCheck

    Sinon, j'ai déjà vu une erreur semblable sur un autre forum, le gars à marqué résolu en remplacant pow par powl. (p-e une piste...)

    Bonne journée

  3. #3
    Membre Expert
    Avatar de Joel F
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Septembre 2002
    Messages
    918
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Service public

    Informations forums :
    Inscription : Septembre 2002
    Messages : 918
    Par défaut
    faut effectivement passer par powl qui evitera un transtypage couteux des arguments d'entrées.

  4. #4
    Membre éprouvé Avatar de uriotcea
    Homme Profil pro
    Ingénieur / physicien
    Inscrit en
    Septembre 2003
    Messages
    1 301
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur / physicien
    Secteur : Service public

    Informations forums :
    Inscription : Septembre 2003
    Messages : 1 301
    Par défaut
    ok merci,

    powl améliore les choses mais ce n'est toujours pas ca. Mon calcul reste toujours 2 fois plus lent qu'avec ma propre fonction pow

Discussions similaires

  1. [Ubuntu 11.10 64Bits]: Problèmes avec Flash Player
    Par zakharorion dans le forum Applications et environnements graphiques
    Réponses: 0
    Dernier message: 12/12/2011, 19h40
  2. Problème avec la fonction pow
    Par marguerite99 dans le forum C
    Réponses: 13
    Dernier message: 14/11/2009, 14h25
  3. problème avec la fonction pow()
    Par emprex dans le forum C
    Réponses: 7
    Dernier message: 17/11/2007, 12h04
  4. probléme avec la fonction pow
    Par arglow dans le forum C
    Réponses: 7
    Dernier message: 23/07/2007, 13h38
  5. Problème avec la fonction pow(les puissance)
    Par Clément76 dans le forum C
    Réponses: 10
    Dernier message: 04/10/2006, 12h44

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