java - 如何查询高分辨率性能计数器

标签 java winapi

早上好

我需要获取 CPU 高分辨率性能计数器的值,以便测量各种软件应用程序之间的延迟。在我的 c(++|#) 中,我使用

BOOL WINAPI 查询性能计数器( __out LARGE_INTEGER *lpPerformanceCount );

WinApi 调用。从 java.util 获取计数器的正确方法是什么?我搜索 jna 但没有成功。我知道这是一个特定于平台的问题,但也许有比我自己编写 jni 包装器更快的方法?

祝你好运, 阿敏

最佳答案

如何使用 System.nanoTime ?我认为这已经使用了机器的性能计数器,无需编写 native 包装器。

更新:根据this article on clocks and timers in the jvm在“Windows 上的时钟和计时器”部分中

System.nanoTime() is implemented using the QueryPerformanceCounter/QueryPerformanceFrequency API

关于java - 如何查询高分辨率性能计数器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10381140/

相关文章:

java - 获取正确的多边形以在图像中显示

java - 有没有办法多次迭代 HttpServletRequest.getAttributeNames() ?

C++从模块大小中的进程读取所有内存

c++ - 如何通过 HANDLE 判断一个堆是否被序列化?

c++ - 如何在 C++ 中按回车键执行代码?

java - 如何在用户尝试运行应用程序之前检查安装了哪个版本的 Java?

java - Hibernate OneToMany 关系错误

java - 使用反射访问 protected 类

c++ - 如何在我的命名空间中使用 LoadString 宏?

c++ - 调用 MapViewOfFile 时出错