gpt4 book ai didi

c++ - 最近的 C++ 协程编译器支持 HALO

转载 作者:行者123 更新时间:2023-12-05 04:32:51 25 4
gpt4 key购买 nike

我已阅读文章Using Coroutine TS with zero dynamic allocations , 并且作者坚持认为 HALO 可以用于协程并且他提供了一个 godbolt link它显示了应用了 clang 5.0 的生成器示例 HALO。

但是,使用更新版本的 clang(godbolt 上的 clang 13.0.1)我可以看到对 operator new 的调用。事实上,我找不到任何支持 HALO for corouine 的最新编译器。我已经在 MSVC 2019/2022、GCC 11.2 上进行了测试,所有程序集都显示了对 operator new 的调用。

我真的可以像作者在那篇文章中坚持的那样依赖 HALO 吗?例如,RVO 甚至在 C++17 之前就已经非常可靠,C++17 将复制省略纳入标准。我应该注意什么才能让我的协程出现 HALO?

最佳答案

原始示例使用 -O3 执行 HALO,只是不使用 -O2。

似乎 HALO 确实发生了,但取决于额外的优化过程。

我所做的只是将它更新为 C++20 和 stdx -> std。

https://godbolt.org/z/qrvWo68Yz

关于c++ - 最近的 C++ 协程编译器支持 HALO,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71581531/

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