gpt4 book ai didi

c++ - dynamic_cast<>有多快

转载 作者:可可西里 更新时间:2023-11-01 16:29:21 28 4
gpt4 key购买 nike

... 大约与典型的 std::string::operator==() 相比?我在下面提供了更多详细信息,我不确定它们是否有任何相关性。具有复杂性或近似值的答案就足够了。谢谢!

详细信息:我将在列表的 for 循环中使用它来查找一些特定实例。我估计我的平均继承水平为 3.5 类。我正在寻找的那个有一个父类、一个祖父类和在这两个“接口(interface)”之上,即用几个 virtual void abc() = 0; 来抽象类。

没有我要查找的子类。

最佳答案

这在很大程度上取决于您的编译器、特定的类层次结构、硬件以及各种因素。您确实需要直接在您的特定应用程序中对其进行测量。您可以使用 rdtsc或(在 Windows 上)QueryPerformanceCounter为此目的获得一个相对高精度的计时器。确保对数千个 dynamic_cast<> 的循环或 sled 进行计时,因为即使是 QPC只有 ¼μs 的分辨率。

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

dynamic_cast<> 和 stricmp() 都位于我们配置文件的顶部,这意味着使用它们的性能成本非常高。 (坦率地说,在我们的工作中,让这些功能如此引人注目是 Not Acceptable ,我不得不去重写一堆使用它们的其他人的代码。)

关于c++ - dynamic_cast<>有多快,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9778145/

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