c – dynamic_cast <>有多快

前端之家收集整理的这篇文章主要介绍了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()都在我们的配置文件的顶部,这意味着使用它们的性能成本是重要的. (坦率地说,在我们的工作中,让这些功能配置文件上这么高,这是不能接受的,我不得不去重写一大堆别的使用它们的代码.)

猜你在找的C&C++相关文章