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

c – dynamic_cast <>有多快

…大概与典型的std :: string :: operator ==()相比较?我在下面给出一些更多的细节,我不知道他们是否有任何相关性.用复杂度或近似值来回答就够了.谢谢!

详细信息:我将在列表中的for循环中使用它来查找一些特定的实例.我估计我的平均继承水平为3.5课.我正在寻找的一个一个父类,一个祖父母和两个“接口”,即抽象类与一个虚拟void abc()= 0的几个.

没有一个我将要寻找的子类.

解决方法

它在很大程度上取决于您的编译器,您的特定类层次结构,硬件,各种因素.你真的需要在你的特定应用程序中直接测量它.您可以使用 rdtsc或(在Windows) QueryPerformanceCounter上获得相对较高精度的计时器.确保有几千个动态播放的时间循环或滑动,因为即使 QPC只有一个1/4分辨率.

在我们的应用程序中,dynamic_cast<>成本约1微秒,字符串比较约3ns /字符.

dynamic_cast<>和stricmp()都在我们的配置文件的顶部,这意味着使用它们的性能成本是重要的. (坦率地说,在我们的工作中,让这些功能配置文件上这么高,这是不能接受的,我不得不去重写一大堆别的使用它们的代码.)

原文地址:https://www.jb51.cc/c/110767.html

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

相关推荐