none
Qu'est qui est le plus optimisé ? RRS feed

  • Question

  • Bonjour,

    Ayant initialement le code suivant :

    XmlDocument myMetaDoc = new XmlDocument();                  

    myMetaDoc.Load(this.path); XmlNode root = myMetaDoc.DocumentElement;

    Je voudrait savoir quel code, par la suite, est le plus optimisé : 

    1)      

    root.InnerXml += "blablabla";

    ou 

    2)      

    XmlTextReader xmlReader = new XmlTextReader(new StringReader("blablabla"));      XmlNode myNewNode = myMetaDoc.ReadNode(xmlReader);   

    root.AppendChild(myNewNode);


    Voila, merci d'avance.






    • Modifié OverFlow07 mercredi 28 août 2013 10:03
    mercredi 28 août 2013 10:00

Réponses

  • Bonjour,

    Cela revient exactement au même... Les 2 font exactement le même traitement.

    Cordialement


    Gilles TOURREAU - MVP C#
    Architecte logiciel/Consultant/Formateur Freelance
    Blog : http://gilles.tourreau.fr
    - MCPD : Enterprise Developper / Windows Developper 3.5 / ASP .NET 3.5/4.0
    - MCITP : SQL Server 2008 Developper
    - MCTS : ADO .NET 3.5 / SQL Server 2008 Developper / Windows Forms 3.5 / ASP .NET 3.5/4.0

    • Marqué comme réponse Aurel Bera lundi 2 septembre 2013 13:21
    mercredi 28 août 2013 22:52
    Modérateur

Toutes les réponses

  • Bonjour,

    Cela revient exactement au même... Les 2 font exactement le même traitement.

    Cordialement


    Gilles TOURREAU - MVP C#
    Architecte logiciel/Consultant/Formateur Freelance
    Blog : http://gilles.tourreau.fr
    - MCPD : Enterprise Developper / Windows Developper 3.5 / ASP .NET 3.5/4.0
    - MCITP : SQL Server 2008 Developper
    - MCTS : ADO .NET 3.5 / SQL Server 2008 Developper / Windows Forms 3.5 / ASP .NET 3.5/4.0

    • Marqué comme réponse Aurel Bera lundi 2 septembre 2013 13:21
    mercredi 28 août 2013 22:52
    Modérateur
  • Bonjour

    Normalement, vous pouvez faire un petit teste.

    Vous pouvez écrire un petit logiciel qui mesure le temps passée pour un nombre (1000, 2000) de nœuds ajoutées avec chacun de ces méthodes et comparer le temps passée.

    Cordialement


    Aurel BERA, MSFT
    MSDN Community Support. LE CONTENU EST FOURNI "TEL QUEL" SANS GARANTIE D'AUCUNE SORTE, EXPLICITE OU IMPLICITE.
    S'il vous plaît n'oubliez pas de "Marquer comme réponse" les réponses qui ont résolu votre problème. C'est une voie commune pour reconnaître ceux qui vous ont aidé, et rend plus facile pour les autres visiteurs de trouver plus tard la résolution.

    jeudi 29 août 2013 13:23
  • Bonjour OverFlow07,

    Faite le test en utilisant simplement la classe StopWatch :

    Stopwatch monStopWatch = new Stopwatch();
    monStopWatch.Start();
    
    //Traitements...
    
    monStopWatch.Stop();
    
    Console.WriteLine("Temps écoulé (HH:mm:ss,ms) : " + 
        monStopWatch.Elapsed.Hours.ToString().PadLeft(2, '0') +
        ":" + monStopWatch.Elapsed.Minutes.ToString().PadLeft(2, '0') +
        ":" + monStopWatch.Elapsed.Seconds.ToString().PadLeft(2, '0') +
        "," + monStopWatch.Elapsed.Milliseconds.ToString().PadLeft(3, '0'));

    Cordialement,

    vendredi 30 août 2013 13:47