gpt4 book ai didi

delphi - delphi语言获取微秒时间

转载 作者:行者123 更新时间:2023-12-03 04:18:45 26 4
gpt4 key购买 nike

我使用delphi语言,我需要以微秒为单位计算处理时间。

我可以计算以小时、分钟、秒和毫秒为单位的时间,delphi语言中有以微秒为单位计算时间的函数吗?

最佳答案

有一个依赖于 CPU 的“高分辨率性能计数器”,您可以通过 QueryPerformanceCounter() API 调用来访问该计数器。

QueryPerformanceCounter() 为您提供该性能计数器的值。 (从历史上看,性能计数器只是对 CPU 周期进行计数,但超线程和多核 CPU 使其变得不可靠,因此现在它仅测量一些非常小的时间间隔,< 1us)

要了解这个时间单位是什么,请使用QueryPerformanceFrequency()。这将为您提供每秒高分辨率性能计数器单位的数量。要获得每微秒的数量,请除以 1000000。在我的 Sandy Bridge i7 上,大约为每微秒 35 个单位。

一些代码:

使用QueryPerformanceCounter来测量某些代码的执行时间:

var
StartTime, EndTime, Delta: Int64;
begin
QueryPerformanceCounter(StartTime);
//Code you want to measure here
QueryPerformanceCounter(EndTime);
Delta := EndTime - StartTime;
//Show Delta so you know the elapsed time
end;

使用QueryPerformanceFrequency找出一微秒有多少个高分辨率单位:

var
Frequency, UnitsPerMS: Int64;
begin
QueryPerformanceFrequency(Frequency);
UnitsPerMS := Frequency div 1000000;
end;

关于delphi - delphi语言获取微秒时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23913800/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com