zoukankan      html  css  js  c++  java
  • TStopWatch 基本知识

    System.Diagnostics.pas:

    Delphi includes a helpful unit called System.Diagnostics , which implements a

    TStopwatch record. It allows us to measure time events with a better precision than 1
    millisecond and has a pretty exhaustive public interface, as shown in the code fragment
    below:

     TStopwatch = record
      strict private
        class var FFrequency: Int64;
        class var FIsHighResolution: Boolean;
        class var TickFrequency: Double;
      strict private
        FElapsed: Int64;
        FRunning: Boolean;
        FStartTimeStamp: Int64;
        function GetElapsed: TTimeSpan;
        function GetElapsedDateTimeTicks: Int64;
        function GetElapsedMilliseconds: Int64;
        function GetElapsedTicks: Int64;
        class procedure InitStopwatchType; static;
      public
        class function Create: TStopwatch; static;
        class function GetTimeStamp: Int64; static;
        procedure Reset;
        procedure Start;
        class function StartNew: TStopwatch; static;
        procedure Stop;
        property Elapsed: TTimeSpan read GetElapsed;
        property ElapsedMilliseconds: Int64 read GetElapsedMilliseconds;
        property ElapsedTicks: Int64 read GetElapsedTicks;
        class property Frequency: Int64 read FFrequency;
        class property IsHighResolution: Boolean read FIsHighResolution;
        property IsRunning: Boolean read FRunning;
      end;
    

    To use a stopwatch, you first have to create it. You can call TStopwatch.Create to create a

    new stopped stopwatch or TStopwatch.StartNew to create a new started stopwatch. As
    TStopwatch is implemented as a record , there's no need to destroy a stopwatch object.
    When a stopwatch is started, it is measuring time. To start a stopwatch, call the Start
    method and to stop it, call the Stop method. The IsRunning property will tell you if the
    stopwatch is currently started. Call the Reset method to reset the stopwatch to zero.

    The TStopwatch contains a few functions that return the currently measured time. The

    most precise of them is ElapsedTicks , but as there is no built-in (public) function to
    convert this into standard time units, this function is hard to use. My recommendation is to
    just use the ElapsedMilliseconds property which will give you elapsed (measured) time
    in milliseconds.

  • 相关阅读:
    基于稀疏表示学习的图像分类
    多个for循环嵌套会影响速度
    LP-KPN
    C++ const
    C++面向对象
    使用最新的“huihui中文语音库”实现文本转语音功能
    后缀crt证书转换
    server2012 配置SSL证书
    解决windows server2012 评估版本过期,系统会自动关机
    Win2008 r2 IIS7.5出现FastCGI进程最近常常失败。请过一会再尝试此请求的解决方法
  • 原文地址:https://www.cnblogs.com/BSor/p/9376439.html
Copyright © 2011-2022 走看看