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 programme C


Sujet :

C

  1. #21
    Membre éclairé Avatar de Ngork
    Homme Profil pro
    Barbare IT
    Inscrit en
    Avril 2009
    Messages
    160
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Barbare IT
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2009
    Messages : 160
    Par défaut
    Citation Envoyé par transgohan Voir le message
    Mais dites moi... Vous tournez sur une configuration faite pour les benchmarks ?
    Non parce que vous savez faire tourner des tests de performance sur un OS de bureautique et qui plus est non temps réel et s'étonner de différences de l'ordre de la centaine de milliseconde c'est du n'importe quoi...

    Et de plus la moyenne n'apporte pas grand chose comme résultat, elle doit être comparée avec l'écart type au minimum.

    La tolérance sur ce genre de configuration est de l'ordre de 1-5 secondes pour des traitements long (et on peut descendre à l'ordre de 300-800 ms en sachant ce que l'on fait : fermer / couper tout ce que l'on peut, et c'est pas une mince affaire sur un OS de bureautique...).
    L'écart qui me surprend n'est pas ici de l'ordre de la centaine de millisecondes mais de la seconde, et si je n'ai pas mentionné l'écart-type, c'est qu'il est faible : 30 millisecondes (raison pour laquelle j'ai arrondi mes résultats au dixième de seconde, les centièmes et millièmes n'étant pas significatif).
    Les résultats ont été générés par un batch sur 100 tests séparés d'un délai aléatoire compris entre 5 et 10 secondes ... et je les ai reproduits ce matin avec le même résultat !

    La tolérance sur un traitement long n'est à mon avis pas pertinente ici puisqu'il s'agit d'un traitement court, et l'usage d'un OS de bureau avec une charge moyenne me paraît adapté puisque je cherche justement à déterminer si l'optimisation (hors algorithmique) apporte quelque chose aux logiciels que je développe pour cet usage ...

  2. #22
    Membre Expert
    Avatar de transgohan
    Homme Profil pro
    Développeur Temps réel Embarqué
    Inscrit en
    Janvier 2011
    Messages
    3 149
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Temps réel Embarqué

    Informations forums :
    Inscription : Janvier 2011
    Messages : 3 149
    Par défaut
    Cela dépend du domaine en fait, pour moi une seconde c'est une éternité dans mon boulot.
    Mais je dois bien avouer que je n'ai aucune idée de ce que peut être un traitement long sur une application bureautique (si l'on parle en terme de traitement que l'utilisateur attend, ou bien en batch, ect).
    Donc désolé pour mon message, déformation professionnelle dira-t-on.

  3. #23
    Membre confirmé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mars 2003
    Messages
    132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2003
    Messages : 132
    Par défaut
    Bonjour,

    pour optimiser les boucles for tu peux utiliser OpenMp qui est plutôt facile d'accès.

  4. #24
    Modérateur
    Avatar de gangsoleil
    Homme Profil pro
    Manager / Cyber Sécurité
    Inscrit en
    Mai 2004
    Messages
    10 150
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Manager / Cyber Sécurité

    Informations forums :
    Inscription : Mai 2004
    Messages : 10 150
    Par défaut
    Citation Envoyé par dybmans Voir le message
    Bonjour,

    pour optimiser les boucles for tu peux utiliser OpenMp qui est plutôt facile d'accès.
    Cela n'optimise pas les boucles, mais fait du traitement parallele, ce qui n'a pas grand chose a voir.

    Avant de passer a OpenMP, un simple passage du code en multithread pourrait deja aider, surtout sur les processeurs multi-coeurs.


    Sinon, si tu veux vraiment savoir ce qui te prends du temps, il faut utiliser des outils de profiling de code : tu sauras quelles sont les fonctions qui prennent du temps, et donc ce qu'il faut ameliorer en priorite.
    "La route est longue, mais le chemin est libre" -- https://framasoft.org/
    Les règles du forum

  5. #25
    Modérateur

    Avatar de Bktero
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2009
    Messages
    4 493
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juin 2009
    Messages : 4 493
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par transgohan Voir le message
    une seconde c'est une éternité
    Je suis Bktero et j'approuve ce message !

    Oops ! Déformation professionnelle également

  6. #26
    Membre chevronné
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    329
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2004
    Messages : 329
    Par défaut
    Citation Envoyé par gangsoleil Voir le message
    Avant de passer a OpenMP, un simple passage du code en multithread pourrait deja aider, surtout sur les processeurs multi-coeurs.
    Hum... OpenMP *c'est* du multi-threading

  7. #27
    Modérateur
    Avatar de gangsoleil
    Homme Profil pro
    Manager / Cyber Sécurité
    Inscrit en
    Mai 2004
    Messages
    10 150
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Manager / Cyber Sécurité

    Informations forums :
    Inscription : Mai 2004
    Messages : 10 150
    Par défaut
    Citation Envoyé par Joker-eph Voir le message
    Hum... OpenMP *c'est* du multi-threading
    OpenMP, c'est surtout une bibliotheque de programmation parallele, avec la possibilite d'exploiter plusieurs processeurs physiques, avec des segments de memoire partagee. Donc beaucoup plus que du simple multi-threading.
    "La route est longue, mais le chemin est libre" -- https://framasoft.org/
    Les règles du forum

Discussions similaires

  1. Optimisation programme en C
    Par senuol dans le forum C
    Réponses: 11
    Dernier message: 18/05/2011, 18h01
  2. [Débutant] tableau pour optimiser programme
    Par membreComplexe12 dans le forum MATLAB
    Réponses: 2
    Dernier message: 15/03/2010, 10h03
  3. Optimisation programmation Interface
    Par christophe_halgand dans le forum Interfaces Graphiques
    Réponses: 1
    Dernier message: 28/02/2008, 18h49
  4. Optimisation programme ::
    Par scolopendra dans le forum Langage
    Réponses: 5
    Dernier message: 16/04/2007, 17h53
  5. Optimiser programme (D7)
    Par mario9 dans le forum Delphi
    Réponses: 2
    Dernier message: 18/08/2006, 17h36

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