gpt4 book ai didi

c++ - 在 Visual Studio 中记录 CPU 使用情况

转载 作者:行者123 更新时间:2023-11-30 03:30:39 24 4
gpt4 key购买 nike

我想在 Visual Studio 中记录我的 C 程序的 CPU 使用率。使用性能配置文件,我能够查看我的 C 程序的 CPU 使用率的图形表示。但是我应该怎么做或者我应该将什么代码添加到我现有的代码中,以便我可以在文本或 excel 文件中记录程序每秒的 CPU 使用率。

最佳答案

可能最简单的方法是创建一个线程,它只使用 GetProcessTimes 获取进程的当前 CPU 使用率,将其写入文件,休眠一秒钟,然后重复。然后你可以(例如)设置一个信号来告诉它退出:

FILETIME creation, done, kernel, user;
int PID;

std::atomic<bool> finished = false;

std::thread logger([&] {
printf("seconds\n");
while (!finished) {
GetProcessTimes(GetCurrentProcess(), &creation, &done, &kernel, &user);

SYSTEMTIME used_k, used_u;

FileTimeToSystemTime(&kernel, &used_k);
FileTimeToSystemTime(&user, &used_u);

DWORD milliseconds = used_k.wMilliseconds + used_u.wMilliseconds;
DWORD seconds = used_k.wSecond + used_u.wSecond;

printf("%d.%3.3d\n", seconds, milliseconds);
Sleep(1000);
}
});

// Do work to be timed/logged here

finished = true;
logger.join();

关于c++ - 在 Visual Studio 中记录 CPU 使用情况,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44840211/

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