我想测量我的程序exe启动时间呢 是从点击或 [enter] 开始的时间 如果从控制台或任何其他方式启动直到 程序启动完成的时刻和 它的代码可以在所有结构设置的情况下执行 (可能这意味着当 main() 中的第一个命令 被执行 [?])
我想以编程方式从 在我的代码中 - 所以我想办法做到这一点 需要读取准确的发射时间 程序然后从中减去这次 第一行代码执行时间
(抱歉我的英语不好)怎么做?
最佳答案
您要从单击或 [enter](包括 shell(cmd.exe 或 Windows 资源管理器)开销)还是从程序启动进行测量?
以编程方式,您只能从进程创建开始计算时间,因此不包括查找、读取和映射 .exe 文件或任何 DLL。时间将根据已经映射到虚拟内存中的内容而有所不同。它将包括 C RTL 的初始化,但仅此而已。
可能您能做的最好的事情是 GetProcessTimes .
问题是,即使是父进程也不一定要等待子进程初始化完成——它可以使用 WaitForInputIdle
,但如果您使用的是 Windows 资源管理器等标准工具,那么您坚持下去。如果不自己编写,我看不出有什么方法可以测量 shell 开销。
关于c - 如何测量 program.exe 启动时间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16031122/