C Pimpl与纯虚拟接口性能
作者:互联网
我知道有很多关于这个主题的帖子,但我很难找到这个问题的答案.
对于更快的函数调用,纯虚拟接口还是pimpl?
乍一看,在我看来,纯虚拟接口会更快,因为使用pimpl将花费两个函数调用而不是一个…或者在这种情况下某些聪明的编译器技巧会接管吗?
编辑:
我试图决定我应该使用哪些来抽象出几个对象的系统相关部分,这些部分可能最终必须经常产生并且大量产生.
编辑:
我想在这一点上值得说的是,我的问题的根源在于我将抽象工厂设计模式误认为是使我的代码在多个平台上工作的方法,当它的真正目的是在运行时切换给定接口的实现时.
解决方法:
这两个选项不相同,因为焦点不同,所以不应该对性能进行比较.即使它们是等价的,在大多数情况下,性能差异也很小,并不重要.如果您在极少数情况下知道调度是一个问题,那么您可以使用工具来衡量差异.
标签:pimpl-idiom,c,performance,cross-platform,virtual-functions 来源: https://codeday.me/bug/20190826/1729413.html