Node中的什么情况下使用Buffer.alloc(),什么时候使用Buffer.allocUnsafe().fill()?
4K是一个界线,具体举例说明一下这两个API分别在什么情况下使用有助于性能提升。
Node中的什么情况下使用Buffer.alloc(),什么时候使用Buffer.allocUnsafe().fill()?
4K是一个界线,具体举例说明一下这两个API分别在什么情况下使用有助于性能提升。
3 回答2.7k 阅读✓ 已解决
1 回答1k 阅读✓ 已解决
1 回答1.1k 阅读✓ 已解决
2 回答1.2k 阅读
2 回答664 阅读✓ 已解决
2 回答1.7k 阅读
2 回答1.1k 阅读
可以参考 Node.js 的文档,二者的区别在于
.alloc()
会对分配的空间进行填充,保证新分配的空间不会含有以前的数据。而.allocUnsafe()
不会填充,所以更快。但是如果.allocUnsafe()
之后立即.fill()
,其效果和.alloc()
一样,但执行效率可能会略差(需要实测确定)。4K 的界限与这个问题无关,是
.allocUnsafe()
内部的运作的时候对分配处理的一个界限,主要用于优化其效率。