我想知道Haskell编译器优化器是否通常不能将较大的惰性数据结构分割成更小的严格部分,以获得更多的性能程序。
例如,通过Data.Text.Lazy
,我们做出了相同的行为。在较大的惰性结构中严格的Data.Text
块。如果这个优化是可能的,那么我们是否可以使用String
来代替相同的性能,并使代码更好呢?
有什么概念/理论上的原因吗,为什么这个优化不能进行,或者说它实际上太难了,还没有人实现呢?这是GHC开发人员当前的问题吗?
发布于 2022-02-21 07:26:46
所以我的问题是,如果使用编译器优化的
结构(如果存在)的
String
结构应该像它一样,那么Data.Text.Lazy
有什么好处呢?
如果String
的行为与Data.Text.Lazy.Text
一样,那就没有意义了。但事实并非如此,也没有迹象表明它可能在不久的将来出现。
https://stackoverflow.com/questions/71207896
复制相似问题