Scriptlaufzeit in Threads?



  • mal angenommen ich hab threads, in jedem läuft ein script. jetzt wüsste ich gern, wie lange die gesamtlaufzeit ist. aber leider funktioniert mein ansatz nicht. wie geht man sowas an?

    was ich jetzt mache, ist, dass ich in jedem thread die zeit messe und dann global summiere. aber da kommen ganz falsche werte raus, weil sie parallel laufen. bsp:

    thread 1: laufzeit 1 sek
    thread 2: laufzeit 1 sek
    thread 3: laufzeit 1 sek
    thread 4: laufzeit 1 sek
    thread 5: laufzeit 1 sek
    ------------------------

    reale gesamtlaufzeit ist weil alle geleichzeitig laufen 1 sek. bei mir kommen aber 5 sek raus. was mach ich falsch 😞 😕



  • viel wichtiger ist eig. wie macht man das richtig 🙄



  • Wenn du einen Wettlauf organisieren willst, wie misst du dann die Zeit die das ganze Event dauert?

    Es laufen ja 100 Leute gleichzeitig und wenn du alle Zeiten zusammen addierst kommt natuerlich was falsches raus.

    Woher weisst du aber nachher wie lange du die Lauf-Anlage blockiert hast?



  • hab schon verstanden. ich mess an der falschen stelle 😉



  • Hö? Miss halt vor dem Start des ersten Threads und hol dir ein Signal oder so, das kommt, wenn ein Thread vorbei ist. Bei Signalerhalt und Anzahl laufender Threads = 0, hast Du die Endzeit oder warum geht das nicht?



  • .oO Wer viel misst, misst Mist! 💡



  • Auch ohne viel wahr.



  • @oO
    Wie du es richtig misst kommt darauf an was du überhaupt genau messen willst. Also was du unter "Gesamtlaufzeit" verstehst.

    Die Zeit auf einer gedachten Stoppuhr von "Vorgang gestartet" bis "Vorgang beendet"?
    Oder die summierte CPU-Zeit der einzelnen Threads?
    Oder die summierte CPU-Zeit der einzelnen Threads geteilt durch die anzahl der verfügbaren CPUs?
    Oder ... blub?

    Wenn du das mal weisst, dann musst du nur noch Code schreiben der eben genau diese Messung durchführt.

    @Eisflamme
    Der "Original-Spruch" hat aber das "viel" drinnen. Warum auch immer.


Anmelden zum Antworten