Maik Görgens: Zeitdifferenz genau messen

Hallo!

Ist es möglich, mit Perl Zeitabstände Millisekundengenau zu messen?
Ich kenn nur die möglichkeit, zweimal time() anzuwenden und die Differenz zu bilden. Allerdings kann das teilweise sehr ungenau werden. Gerade bei kleinen Zeitabständen. Es müßte doch eigentlich möglich sein, da das Modul Benchmark ja auch sehr genau mißt.
Kann mir da jemand helfen?

Vielen Dank im Vorraus
 Maik Görgens

  1. Hallo,

    Ist es möglich, mit Perl Zeitabstände Millisekundengenau zu messen?

    Du kannst dafür das Modul Time:.HiRes verwenden. Du findest es dort, wo die meisten Module zu finden sind, auf dem nächstgelegenen CPAN-Server.

    Grüße
      Klaus

  2. Hallo!

    Ist es möglich, mit Perl Zeitabstände Millisekundengenau zu messen?
    Ich kenn nur die Möglichkeit, zweimal time() anzuwenden und die Differenz zu bilden. Allerdings kann das teilweise sehr ungenau werden. Gerade bei kleinen Zeitabständen.

    Was heißt denn da "ungenau"? Wenn ich die Zeit auslese, dann stimmt die auch, da addiert niemand was dazu. Allenfalls, dass zwischen "time"-Aufruf und Ausführung des Befehls sich ein anderer User mit höherer Priorität sich dazwischendrängt. Dagegen kann man wohl nur was tun, wenn man Einfluß auf die Vergabe der Prioritäten hat. Oft ist es aber so, dass man bei Geschwindigkeitsmessungen ja gerade wissen will, wie schnell es "im wirklichen Betrieb" geht. Da dauert die Ausführung eines Befehls halt unterschiedlich lange und es gibt eine Streuung der Messergebnisse. Das sind _keine_ Messfehler.

    Gruß
    Hans35

    1. Hallo!

      Was heißt denn da "ungenau"?

      Ich meinte mit ungenau, das er bei z.B. 2.8 Sekunden auf 3 rundet, bzw. immer abrundet oder so (weiß ich nicht genau). Auf jeden Fall bekomm ich keine 2.8 Sekunden.

      Gruß Maik