c++ progrmma Ausgabewerte in Datei abspeichern + Graph zeichnen



  • Hallo Allerseits,

    ich habe ein c++ Programm und teste eine Algorithmen auf die Performance und möchte die werte die ich habe in einem Graphen abbilden.

    z.B. nach 10sec habe ich Wert x1
    100sec habe ich Wert x2 etc.

    Als ersten Schritt dachte ich mir, dass ich die Werte in eine *.txt Datei abspeichere ( 10sec x1 100sec x2 ...) und dann die wieder auslese z.B. mit Excel.
    Würde das mit Excel gehen, wenn ja wie?

    Kennt Ihr alternativen die empfehlenswerter sind?

    lieben Gruß

    MissG



  • Also wenn du während der Algorithmus läuft noch Ausgaben machst o.ä. dann wir die Performanc ja bestimmt gestört. Du kannst die Zeit vorher und nachher messen und dann hast du die Laufzeit. Aber WÄHREND dem Laufen macht es imo nicht viel Sinn..



  • drakon schrieb:

    Also wenn du während der Algorithmus läuft noch Ausgaben machst o.ä. dann wir die Performanc ja bestimmt gestört. Du kannst die Zeit vorher und nachher messen und dann hast du die Laufzeit. Aber WÄHREND dem Laufen macht es imo nicht viel Sinn..

    Wieso? Du kannst doch sowas in der Richtung machen:

    MeasureTimeStart();
    DoSomeImportantStuff(); //Teilschritt 1
    MeasureTimeEnd();
    PrintMeasuredTime();
    
    MeasureTimeStart();
    DoMoreImportantStuff(); //Teilschritt 2
    MeasureTimeEnd();
    PrintMeasuredTime();
    
    PrintMeasuredTimeSum(); //Zeiten der Teilschritte von mir aus noch summieren und ausgeben
    

    Da ist die Zeit für die Messung selbst nicht in der gemessenen Zeit drin.

    Sowas in der Art machen wir in unserer Anwendung auch...



  • OK. Ja, kommt halt auf den Algorithmus an. Habe mir das ein wenig zu spartanisch vorgestellt. 🙂



  • Ich glaube, ihr ging es sowieso um was anderes, nämlich wie sie ihre Resultate grafisch darstellen könnte.

    Mit Excel in Verbindung mit C++ kenne ich mich leider überhaupt nicht aus. Da ich aber mit SFML vertraut bin, würde ich es damit versuchen... Aber es gibt wahrscheinlich bessere Möglichkeiten, vielleicht weiss da jemand mehr.



  • Einfach die Ergebnisse als .csv komma-separiert speichern und ein Diagram anlegen. Wenn er das automatisieren will, wird es natürlich komplizierter.



  • Wenn du GUI programmierst, findest du sicher auch Graphen-Controls im Internetz, die du benutzen kannst. Wir haben da eigene, die kann ich schlecht posten. Aber ich erinnere mich vage an ZGraph oder ZedGraph, das sehr gut sein soll. Gib's mal in Google ein, vielleicht findest du da schon was. Ansonsten hat codeproject.com da sicher was in petto.



  • Kuck dir mal GNU Plot an. Du packst deine Werte in eine txt Datei, schreibst ein gnu plot Skript und fertig ist dein PNG/PDF/was-auch-immer.



  • Hallo,
    danke erstmal für eure zahlreichen Ideen.

    Die Laufzeit messe ich vereinfacht dargestellt folgendermaßen:

    1. Aktuelle Zeit vor Algo ablesen
    2. Algorithmus ausführen
    3. Aktuelle Zeit nach Algo ablesen
    4. Differenz bilden
    5. Ausgeführte Anzahl Algo + die Zeit abspeichern
    6. weitere werte Messen
    7. Alles zusammen plotten
    

    Messen möchte ich, wie oft der Algo in z.B. 10 Sekunden ausführbar ist.

    Ich probiere mal die vorgeschlagenen Ideen aus und poste die hier.

    MissG

    ps: übrigens, ich bin eine sie 😃



  • missG schrieb:

    ps: übrigens, ich bin eine sie 😃

    Sorry, man ist sich hier langsam an die vielen Männer gewohnt. Aber dein Benutzername sollte eigentlich eindeutig sein, ich war leider zu wenig aufmerksam. Hoffentlich nimmst du das nicht persönlich. 🙂

    Ich hab meinen Post auf jeden Fall angepasst. 😉



  • Das kann kein Zufall sein.

    Die testen das Forum auf politische Korrektheit.. :p



  • Nexus schrieb:

    missG schrieb:

    ps: übrigens, ich bin eine sie 😃

    Sorry, man ist sich hier langsam an die vielen Männer gewohnt. Aber dein Benutzername sollte eigentlich eindeutig sein, ich war leider zu wenig aufmerksam. Hoffentlich nimmst du das nicht persönlich. 🙂

    Ich hab meinen Post auf jeden Fall angepasst. 😉

    Nein natürlich nicht! Man kann ja anhand eines Benutzernamen nicht unbedingt sagen ob f oder m. Wobei es bei mir ja schon ersichtlich war, obwohl sich ein männlicher poster weiblich ausgeben könnte ;). Am besten wäre vielleicht den benutzernamen direkt hinschreiben. Das wäre denke ich genauer, wer mit Ihm oder Ihr gemeint ist.

    Also sobald ich ein ergebnis habe, poste ich das hier. Damit auch andere was davon haben!


Anmelden zum Antworten