【问题标题】:# of marshalling Performance Counter# 编组性能计数器
【发布时间】:2009-12-28 18:23:08
【问题描述】:

我正在尝试确定 COM 互操作是否正在成为我软件的瓶颈。 MSDN 上的这篇文章对http://msdn.microsoft.com/en-us/library/ms998579.aspx#scalenetchapt15_topic11 有帮助。但是我真的没有关于编组的“正常”或“高”值的参考点,以确定它是否会影响性能。谁能给我这个性能计数器的阈值,就像 MSDN 为文章中的其他性能计数器提供的一样。我知道这是一个特定于硬件和应用程序的问题,但我们将不胜感激。

【问题讨论】:

    标签: performance com interop marshalling counter


    【解决方案1】:

    我认为不可能指定编组的特定阈值。它取决于应用程序。你应该做的是衡量每个电话平均需要多长时间。编写一个测试应用程序,只需对非托管代码进行大量调用并对其计时。然后使用应用程序上的“聊天”计数器,您应该能够估计托管代码和非托管代码之间切换的总成本。

    几年前我不得不做这件事。我正在使用非托管 DLL 从一大块数据中读取值。我测量了调用,发现由于调用次数较多,它相对昂贵,因此我进行了一次调用以检索数据块,然后在托管代码中从该数据中提取值。编写代码的工作量更大,但提供了相当显着的速度提升。

    【讨论】:

      猜你喜欢
      • 2011-01-29
      • 2011-04-01
      • 1970-01-01
      • 1970-01-01
      • 2011-06-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多