我在Windows WPF C++/C#64位应用程序中搜索性能问题。在调试器(包括使用调试堆运行)下运行时,该应用程序有时非常慢,需要几秒钟来响应每次点击。在慢速期间,MSVS分析器将UMThunkStubAMD64报告为做功最多的功能(25%独占样本)。这个名字听起来像是某种适配器/包装函数,可能是从64位应用程序代码调用32位操作系统代码,但我想知道它是否在执行更多工作,如检查堆状态。什么是UMThunkStubAMD64,它为什么会出现瓶颈?
什么是UMThunkStubAMD64?有没有影响其性能的因素?
UMThunkStubAMD64是一个处理从本机到托管代码转换的thunk。这是25%_inclusive_还是_exclusive_时间?包含的数字可能包括执行托管代码的所有时间。 – 2012-07-23 18:18:29
这是_exclusive_时间。将更新问题 - 谢谢。 – xan 2012-07-23 18:31:57
这个函数的总点击次数是多少,执行该函数的平均持续时间是多少? – 2012-07-23 18:43:26