微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在 Omnetpp 中收集不同运行的结果时出现问题

如何解决在 Omnetpp 中收集不同运行的结果时出现问题

自版本 2.X 到版本 4.XI 能够通过我自己重新实现的 cIoUtputScalarManager 成功记录标量,这使我能够将所有运行的结果存储在 cLongHistogram/cDoubleHistogram 类的相同实例中,这些实例由内部使用我对 cIoUtputScalarManager 的重新实现。我使用 OMNeT++ 进行瞬态分析,因此我需要将许多不同运行的结果(在大多数情况下为 100000 次运行)平均以获得所需的图,但是在版本 5.X 中,每次运行都会从头开始重新实例化整个 cIoUtputScalarManager,因此而不是所有结果运行,最后我只从上次运行中得到结果:( 我怎样才能恢复为所有运行使用一个相同的 cIoUtputScalarManager 而不是为每次运行单独一个(特别是在考虑并行执行运行时,在我的情况下没有打破结果,因为我实际上需要所有结果的平均值)?

感谢您提供有助于解决此问题的任何想法。

解决方法

如果您真的必须收集所有运行的统计信息(并且据我所知,您的用例证明了这一点),那么您仍然可以基于 cIOutputScalarManager 实现自己的管理器,但在该对象中,您可以将所有工作委托给您的经理的 静态 实例。即使用单例设计模式并将所有工作委托给该单个实例。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。