- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
最近我偶然发现了一个非常大的性能改进——我说的是 4 倍的改进——只需更改一行代码。我刚刚将 std::sort 调用更改为 concurrency_parallel 排序
// Get a contiguous vector copy of the pixels from the image.
std::vector<float> vals = image.copyPixels();
// New, fast way. Takes 7 seconds on a test image.
concurrency::parallel_buffered_sort(vals.begin(), vals.end());
// Old, slow way -- takes 30 seconds on a test image
// std::sort(vals.begin(), vals.end());
这是针对大图像的,将我的处理时间从 30 秒缩短到 7 秒。然而,有些情况会涉及小图像。我不知道我是否可以或应该盲目地这样做。
我想明智地使用 parallel_sort、parallel_for 等,但我想知道在它成为帮助之前需要跨越什么阈值(根据要排序/迭代的元素数量)不是障碍。
我最终会进行一些冗长的性能测试,但目前我没有太多时间这样做。我想让它在“大多数”时间更好地工作,而不是在任何时候(或至少很少)损害性能。
在这方面有经验的人可以给我一个合理的经验法则,在“大多数”情况下对我有帮助吗?有吗?
最佳答案
RandomIterator 的要求和带有 const size_t _Chunk_size = 2048
参数的重载的存在,控制序列化的阈值,意味着库作者意识到了这个问题。因此,可能仅使用 concurrency::parallel_
* 作为 std::
* 的替代品就可以了。
关于c++ - concurrency::parallel_sort 开销和性能影响(经验法则)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47130420/
我正在阅读此页面:https://software.intel.com/en-us/node/506167我正在尝试了解如何使用我自己的交换功能? 没有可用的示例,文档也不够具体。有人可以举个例子吗?
最近我偶然发现了一个非常大的性能改进——我说的是 4 倍的改进——只需更改一行代码。我刚刚将 std::sort 调用更改为 concurrency_parallel 排序 // Get a cont
我正在尝试使用 tbb::parallel_sort 同时对 2 个数组进行排序。英特尔的文档在这里说 https://software.intel.com/en-us/node/506167 对迭代
我是一名优秀的程序员,十分优秀!