Performance Data.Text.Lazy.Builder与Text.Builder
模块Performance Data.Text.Lazy.Builder与Text.Builder,performance,haskell,text,Performance,Haskell,Text,模块Data.Text.Lazy.Builder()和模块Text.Builder()之间有什么区别?我指的是目标、效率和可能性 我没有使用文本生成器,但它声称是一个“高效的严格文本生成器”(emphasis mine),而标准的Data.text.Lazy.builder构建了Lazy文本(本质上是一个UTF-16数组块的链接列表)。这两个库(构建器的思想)的要点是避免在通过追加累积字符串时进行大量分配和复制 在我看来,文本生成器库主要将自身限制为静态已知大小的类型。我想它存在的原因是它可以比
Data.Text.Lazy.Builder
()和模块Text.Builder
()之间有什么区别?我指的是目标、效率和可能性 我没有使用文本生成器
,但它声称是一个“高效的严格文本生成器”(emphasis mine),而标准的Data.text.Lazy.builder
构建了Lazy文本
(本质上是一个UTF-16数组块的链接列表)。这两个库(构建器的思想)的要点是避免在通过追加累积字符串时进行大量分配和复制
在我看来,文本生成器
库主要将自身限制为静态已知大小的类型。我想它存在的原因是它可以比文本中的普通构建器更高效;在run
中,您可以只分配一次,然后将其序列化到数组中,在Data.Text.Lazy.Builder中,您可能需要不断增加或分配新的块。如果您真正需要的是严格的文本
,那么您可能需要为复制所有这些块付费(我不确定,这可能还包括额外复制中间严格的文本
)
但这主要是猜测。也许Nikita Volkov会插话。我确认我所说的一切:“《文本生成器》软件包的源代码附带的基准测试表明,至少在涉及的情况下,它的速度更快。还有成功案例用户报告,例如。