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

Windows Discussion :

Performances relatives des moyens de synchronisation


Sujet :

Windows

  1. #1
    Rédacteur

    Avatar de ram-0000
    Homme Profil pro
    Consultant en sécurité
    Inscrit en
    Mai 2007
    Messages
    11 517
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultant en sécurité
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2007
    Messages : 11 517
    Points : 50 367
    Points
    50 367
    Par défaut Performances relatives des moyens de synchronisation
    Dans un environnement de développement Microsoft, les moyens suivants sont disponibles pour permettre la synchronisation de thread ou de process. Je suis bien conscient que ces moyens ont chacuns leurs spécificités (possibilité inter process, notion de pile, ...) mais il y a des cas où plusieurs moyens sont possibles et je n'ai trouvé aucun comparatifs des performances (tel procédé est 50% plus rapide que tel autre)

    Les moyens "classiques" que je connais sont (et il y en a certainement d'autres) :
    * Event
    * Mutex
    * Semaphore
    * Mailslot
    * IOCP port

    En ce qui concerne l'accès concurrent à des données partagées, j'ai aussi identifié les moyens suivants :
    * Interlocked functions
    * Section critique
    * mémoire partagée

    Est ce que quelqu'un a déjà fait un comparatif ou connait une URL donnant ce comparatif, je n'ai rien trouvé dans le MSDN.
    Raymond
    Vous souhaitez participer à la rubrique Réseaux ? Contactez-moi

    Cafuro Cafuro est un outil SNMP dont le but est d'aider les administrateurs système et réseau à configurer leurs équipements SNMP réseau.
    e-verbe Un logiciel de conjugaison des verbes de la langue française.

    Ma page personnelle sur DVP
    .

  2. #2
    Membre émérite Avatar de nicolas.sitbon
    Profil pro
    Inscrit en
    Août 2007
    Messages
    2 015
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 2 015
    Points : 2 280
    Points
    2 280
    Par défaut
    Citation Envoyé par ram_0000 Voir le message
    En ce qui concerne l'accès concurrent à des données partagées, j'ai aussi identifié les moyens suivants :
    * Interlocked functions
    * Section critique
    * mémoire partagée
    D'un certain Richter, les interlocked functions sont ce qu'il y a de plus rapide pour les accès concurrents (étant donné qu'on reste en user space).
    Pour ce qui est de la synchro des threads, j'aime utilisé les Events mais je n'ai aucune idée de leurs performances.
    "The quieter you become, the more you are able to hear"
    "Plus vous êtes silencieux, plus vous êtes capable d'entendre"

  3. #3
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 369
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

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

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 369
    Points : 41 518
    Points
    41 518
    Par défaut
    Les sections critiques sont également supposées être plus rapides que les mutex, car elles évitent de faire appel au kernel quand c'est possible (typiquement, quand elles ne sont pas bloquées).
    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.

  4. #4
    Rédacteur
    Avatar de Vincent Rogier
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    2 373
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 2 373
    Points : 5 307
    Points
    5 307
    Par défaut
    Citation Envoyé par Médinoc Voir le message
    Les sections critiques sont également supposées être plus rapides que les mutex, car elles évitent de faire appel au kernel quand c'est possible (typiquement, quand elles ne sont pas bloquées).
    +1
    Vincent Rogier.

    Rubrique ORACLE : Accueil - Forum - Tutoriels - FAQ - Livres - Blog

    Vous voulez contribuer à la rubrique Oracle ? Contactez la rubrique !

    OCILIB (C Driver for Oracle)

    Librairie C Open Source multi-plateformes pour accéder et manipuler des bases de données Oracle

  5. #5
    Rédacteur

    Avatar de ram-0000
    Homme Profil pro
    Consultant en sécurité
    Inscrit en
    Mai 2007
    Messages
    11 517
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultant en sécurité
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2007
    Messages : 11 517
    Points : 50 367
    Points
    50 367
    Par défaut
    Le problème c'est que bien souvent, il y a une réponse "a priori" (vos réponse en sont une preuve, "ce machin est plus rapide que ce "truc" parce que l'on reste en user space ou parce qu'il ne passe pas en mode kernel) mais il n'y a pas de mesures de performances relatives.

    En effet, si par exemple un IOCP port est 0,3% moins rapide qu'un event, je ne vais pas me prendre la tête, j'oublie les event et je travaille uniquement avec les IOCP ports.
    Raymond
    Vous souhaitez participer à la rubrique Réseaux ? Contactez-moi

    Cafuro Cafuro est un outil SNMP dont le but est d'aider les administrateurs système et réseau à configurer leurs équipements SNMP réseau.
    e-verbe Un logiciel de conjugaison des verbes de la langue française.

    Ma page personnelle sur DVP
    .

  6. #6
    Rédacteur
    Avatar de Vincent Rogier
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    2 373
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 2 373
    Points : 5 307
    Points
    5 307
    Par défaut
    Ce genre de bench s'appuyant sur des résultats palpables ne court pas les rue.

    Donc, tu as forcément des avis non sans preuves...

    Dans ce cas, pourquoi ne fais tu un benchmark et nous postes les résultats ?
    Vincent Rogier.

    Rubrique ORACLE : Accueil - Forum - Tutoriels - FAQ - Livres - Blog

    Vous voulez contribuer à la rubrique Oracle ? Contactez la rubrique !

    OCILIB (C Driver for Oracle)

    Librairie C Open Source multi-plateformes pour accéder et manipuler des bases de données Oracle

  7. #7
    Rédacteur

    Avatar de ram-0000
    Homme Profil pro
    Consultant en sécurité
    Inscrit en
    Mai 2007
    Messages
    11 517
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultant en sécurité
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2007
    Messages : 11 517
    Points : 50 367
    Points
    50 367
    Par défaut
    Citation Envoyé par vicenzo Voir le message
    Dans ce cas, pourquoi ne fais tu un benchmark et nous postes les résultats ?
    J'y pensais aussi mais cela demande du temps et de la rigueur donc je cherchais d'abord dans le tout fait.

    Faire un bench, cela demande :
    * Un environnement fiable et reproductible.
    * Une description complète de ce que l'on veut tester
    * Une description encore plus complète de comment on le teste
    * Les méthodes de mesures
    Raymond
    Vous souhaitez participer à la rubrique Réseaux ? Contactez-moi

    Cafuro Cafuro est un outil SNMP dont le but est d'aider les administrateurs système et réseau à configurer leurs équipements SNMP réseau.
    e-verbe Un logiciel de conjugaison des verbes de la langue française.

    Ma page personnelle sur DVP
    .

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

Discussions similaires

  1. Référence relative à des cellules et performances
    Par Tententai dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 23/08/2007, 17h30
  2. [Performances]Afficher des mesures FPS
    Par GLDavid dans le forum Graphisme
    Réponses: 16
    Dernier message: 01/03/2006, 15h16
  3. Réponses: 9
    Dernier message: 21/12/2005, 19h05
  4. [Conception] Performances : intérêt des vues ?
    Par Mr N. dans le forum PHP & Base de données
    Réponses: 10
    Dernier message: 20/10/2005, 13h46
  5. Performances : intérêt des vues ?
    Par Mr N. dans le forum Requêtes
    Réponses: 4
    Dernier message: 20/10/2005, 13h42

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