haskell – Data.Text vs. Rope

haskell – Data.Text vs. Rope,第1张

概述我一直在寻找绳索作为Data.Text的替代品,我喜欢我看到的那么多,我现在被迫提出这个问题….有没有什么情况下Data.Text将是更好的选择? 这是引导我的观点(如果我错了这些,请纠正我) – >内部单个叶节点绳索(几乎)与Data.Text对象相同.单个节点绳索与文本的开销很小,仅仅是一个位标志来区分分支或叶.如果你真的想要Data.Text,只需使用一个非分裂的绳索. >复杂性在绳索中普遍 我一直在寻找绳索作为Data.Text的替代品,我喜欢我看到的那么多,我现在被迫提出这个问题….有没有什么情况下Data.Text将是更好的选择?

这是引导我的观点(如果我错了这些,请纠正我) –

>内部单个叶节点绳索(几乎)与Data.Text对象相同.单个节点绳索与文本的开销很小,仅仅是一个位标志来区分分支或叶.如果你真的想要Data.Text,只需使用一个非分裂的绳索.
>复杂性在绳索中普遍相同或更好 – 插入/删除(log(N)vs N),通过索引(log(N)/ N取决于树的深度对N)获得.
>我已经看到,绳索的成功证明是c中的一个混合袋,因为性能受到线程安全代码的伤害.不过,这些问题在不可变的Haskell中并不重要.事实上,在我看来,因为这样,哈斯克尔和绳索是相互理想的.

再次,像我以前的类似问题一样,我对结构的抽象性质更感兴趣,而不是当前的情况(库使用,代码的加固等等).如果您明天重写Haskell库,是否将Data.Rope替换为Data.Text?

解决方法 “打包数组的手指树”似乎是一个很好的代表选择,虽然我会担心不断的开销.一些努力与积极的流战斗和一些其他优化短字符串可能会解决这个问题,但Data.Rope缺乏这些功能.现在Data.Rope不是一个真正的Data.Text替代品.

>它主要实现不是字符串字符串的字符串 – 它替换byteString不是文本. Unicode支持很重要.尽管爱德华的惊人,绳索还没有那么的成熟.一年没有任何贡献,很少使用.> Data.Text在其背后拥有巨大的工程设计,经过高度优化,并且是众所周知的,有很好的记录

总结

以上是内存溢出为你收集整理的haskell – Data.Text vs. Rope全部内容,希望文章能够帮你解决haskell – Data.Text vs. Rope所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/1089912.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-27
下一篇 2022-05-27

发表评论

登录后才能评论

评论列表(0条)

保存