雖然使用SlimTune來剖析C#應用程序,但我發現在啓用剖析本機函數時,有一個名爲「CoUninitializeE」的函數有很多條目。 CoUninitialize似乎與COM對象有關,但是我不直接使用任何Com對象,並且Google沒有關於以E結尾的版本的信息。未知函數CoUninitializeE在分析過程中顯示
有沒有人知道此功能是什麼/如何減少在它上花費的時間? (例如,是它涉及到內存管理,這樣減少了內存分配或取消分配將幫助?)
編輯
它出現在函數的名稱實際上是「CoUninitializeEx」和SlimTune只是斬去出於某種原因的信。我仍然很欣賞導致這個函數被調用的知識。
AFAIK沒有CoUnitializeEx。你可以張貼截圖嗎? CoInitialize/Ex&CoUninitialize存在以向COM庫註冊線程。我假設主線程始終在庫中註冊,即使您沒有在主入口點上提供線程屬性(STAThread/MTAThread)。 –
CoUninitializeEx似乎也在調用CorLaunchApplication,它調用TranslateSecurityAttribute,它調用GetAddrOfContractShutoffFla ...,它調用SetCounterName,它調用WaitForSingleObject,它調用WaitForSingleObjectEx。很多這些函數看起來都是以COM爲中心的,但我並不直接使用任何我知道的COM對象。我正在使用的唯一標準庫是System.Math。 –