gpt4 book ai didi

c# - C++ 和 C# COM 事件性能。帮助

转载 作者:行者123 更新时间:2023-11-28 08:31:32 25 4
gpt4 key购买 nike

美好的一天。

CppApp 和 CsApp 事件句柄设计已更改。对于工业应用。

旧设计。

来自 CppApp 的 CsApp 拉取事件。CppApp 有很多事件。所以我们在 CsApp 中创建了两个线程来处理来自 CppApp 的事件。效果很好。

新设计。

CsApp 和CppApp com 事件(fire 事件方法)设计而不是push/pull 事件方法。 Cpp IDL 文件中只创建了一个指针,但它仍然可以处理两个触发事件函数,我们没有更改 CppApp 事件相关部分代码。这意味着现在 CppApp 和 CsApp 之间有一个 Com Event Channel。

测试结果。我们在模拟模式下对其进行了测试,效果非常好。但是目前还没有足够的真机在线测试。特别是在工业在线生产环境中有很多事件。
我们担心是否有一些从 CppApp 到 CsApp 的 Com Event Sending 延迟。

关于行业应用的 Com Event 性能,是否有任何资源可供我研究?

在此提前致谢。

BR!纳米

最佳答案

我不清楚“我们在模拟模式下测试过,效果很好”和“工业在线生产环境下的真机在线测试”有什么区别:

  • 模拟机和生产机有什么区别?
  • 你能模拟这些差异吗?
  • 当您说您“在模拟模式下测试它”时,您是否进行了性能/负载测试(在您的模拟中,每秒生成的事件数与您在真机上预期的一样多)?
  • 您是否允许任何额外的安全裕度(例如,如果我的测试表明我的软件只需要机器 CPU 容量的 10%,我可能会感到很舒服......因为即使它需要的是机器 CPU 容量的 10 倍现实生活中,这还不够)?
  • 最终用户/客户最终将在真机上进行验收测试。您可以与他们合作,让您访问真实的机器吗?

We worry about if there is some Com Event Sending from CppApp to CsApp delay

嗯,COM 在进程内使用而不是进程间或进程外使用时速度更快:当 COM 对象是一个 DLL,加载到与使用它的任何进程相同的进程中时。

Is there any resource which i could research about Com Event performance for industry application?

我不知道;文章的值(value) Events vs. Callbacks说,

Performance Issues

When performance is at stake, it will usually be worthwhile to do the extra work required to create custom callback interfaces. By employing early binding in the callback interface connection code, significant improvements can be made in high-volume or in-process components. By design, event interfaces are not vtable bound and are, therefore, slower in most scenarios than comparable early-bound callback interfaces.

Of course, in any performance issue, the only way to gauge your own needs is to experiment, benchmark, and test. Try out the various permutations yourself and do the math. If you really care about getting the absolute last spurt of speed, then doing the tests is the only way to prove what works, no matter what promises are made.

that section of MSDN 中的其他文章也与性能相关,例如 Understanding and Using COM Threading Models

关于c# - C++ 和 C# COM 事件性能。帮助,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1795020/

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