我遇到了一个问题,我正在使用一个名为 postcss 的库,它正在对 css 进行标记并将这些标记放入数组中。如果数组中的标记数是 114456,则代码会立即执行,但如果我再添加一个选择器,它会在数组中添加更多标记,总共 114468 个标记,那么相同的代码会减慢很多。 token 完全相同,并且不会进入不同的代码路径。
这是要点 https://gist.github.com/ankurp/e64e9aa2dbcfe0350963 在要点中,调用的代码是函数,显示了两个 css 文件。慢的一个比另一个多了一个 css 选择器。
如果数组大于 114456,问题似乎就开始了。这是 nodejs 中的某个神奇数字吗?是否有加快速度的技术?
最佳答案
我偶然发现了一个通过使用 Array()
而不是 []
实例化数组来加速函数的解决方案,但不确定为什么这个小差异会导致速度变慢从一秒到大约一分钟。
关于javascript - 当数组超过一定大小限制时,node.js 会大幅减速,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27140838/