gpt4 book ai didi

c++ - 性能报告中的 std::__detail::_Map_base 是什么?

转载 作者:行者123 更新时间:2023-11-30 03:31:13 30 4
gpt4 key购买 nike

我的程序运行时的很大一部分专用于 std::__detail::_Map_base,我不知道它指的是什么。

enter image description here

我在互联网上搜索了一下,它似乎是某种结构,但我看不出它是如何占用时间的,更不用说将近五分之一了。我应该寻找什么来减少这个时间?

最佳答案

我在这里闻到了 EECS 281 项目的味道 🙂

作为引用,当我是这门课的 IA 时,我收到了很多关于这个的问题。这只是意味着您的大量时间花在了 map 类型的内部方法上。尝试减少昂贵的拷贝和重复的查找操作。如果你像下面的代码一样一遍又一遍地访问 map

if (m[key].something) {
use(m[key]);
cout << m[key];
}

试着把它改成

auto& value = m[key];
if (value.something) {
use(value);
cout << value;
}

这将帮助您从 3 次昂贵的查找操作减少到 1 次。您可以想象当您在循环中多次访问 map 时这会有多大帮助。

另请查看 Can the use of C++11's 'auto' improve performance?并确保你不会犯这样的错误。

关于c++ - 性能报告中的 std::__detail::_Map_base 是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44351170/

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