gpt4 book ai didi

javascript - 在 Javascript 中以空格拆分文本文件的最快方法

转载 作者:行者123 更新时间:2023-11-29 15:02:59 25 4
gpt4 key购买 nike

我正在考虑在浏览器中进行一些文本处理,并试图对我是受 CPU 限制还是 I/O 限制有一个粗略的想法。为了测试等式的 CPU 端的速度,我看到了我在 Javascript 中拆分一段文本的速度(~8.9MB - 这是古腾堡计划的 夏洛克福尔摩斯 重复了很多次)一旦它在内存中。目前我只是在做:

pieces = theText.split(" ");

并执行 100 次并取平均值。在 2011 款 Macbook Pro i5 上,Firefox 的平均分割时间为 92.81 毫秒,Chrome 为 237.27 毫秒。所以 1000/92.81ms * 8.9MB = 95.8MBps 在 CPU 上,这可能比硬盘 I/O 快一点,但不会快很多。

所以我的问题实际上分为三个部分:

  • 是否有 split() 的 Javascript 替代品在进行简单的文本处理(例如,在空格、换行符等处拆分等)时往往更快?
  • 我在这里看到的低迷 CPU 结果可能是由于基本的字符串匹配/算法限制,还是 Javascript 执行速度很慢?
  • 如果您认为 Javascript 可能是限制因素,您能否在任何其他编程语言的可比机器/可比文本上展示更好的性能?

编辑:我还怀疑这可以通过 WebWorkers 加速,尽管目前我主要对单线程方法感兴趣。

最佳答案

据我所知,用 for 循环拆分是在 javascript 中进行简单文本处理的最快方法。它比正则表达式更快,这里是 jsperf 的链接 http://jsperf.com/query-str-parsing-regex-vs-split/2

关于javascript - 在 Javascript 中以空格拆分文本文件的最快方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7537214/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com