我已经在Data.Text上做了很多阅读,但是我一直没有找到太多的方式来选择Strict over Lazy,反之亦然.
我的理解是Data.Text.Strict是内存中连续字符的数据结构,而Data.Text.Lazy是连续字符的块.
我的问题是为什么我不应该总是使用Data.Text.Lazy?似乎唯一的开销是块管理,但是我不知道它是否足够明显?作为交换,当Text值变大时,级联操作可以便宜得多.
欢迎有想法和见解!
解决方法
我会说,使用Data.Text.Lazy继承了许多
the problems of lazy
IO
.所以我的建议是喜欢严格,如果你需要顺序处理大量的数据,请使用
the available streaming libraries之一.另请参见
What is pipes/conduit trying to solve.