@
L4Linux @
wdhwg001 乍一看没什么特别的,但这不是 consteval 函数,是 coroutine.
想象一下有栈协程和动态类型的解释型语言此时在干什么(看向 v8 )。
能把并发函数优化成常量说明这个「协程」甚至不是状态机(编译器很难优化状态机),而是直接计算了 cps 变换后的结果,这就很 amazing 了。
可以看看 cppcon2016 的那个视频,当你先写了一段 sequential 代码,再改成异步,再改成 coroutine ,再把优化一开
——
boom ,一个常数!
跟魔术一样,performance makes a trick being real magic.
从 ppt 和我一点实验来看,现在的基础设施还不能把 coroutine 优化得特别好,起码还没达到 presentation 展示的最佳效果,标准库也还没跟上。等标准库完善之后编译器应该能更好地优化,从 presentation 来看,能优化的东西是有很多而且很有效的,未来可期。(指 c++26 以后)