gpt4 book ai didi

node.js - 在 node.js 中正确使用 _writev

转载 作者:搜寻专家 更新时间:2023-10-31 22:42:59 25 4
gpt4 key购买 nike

_writev() 在 node.js 中的正确用法是什么?文档说:

If a stream implementation is capable of processing multiple chunks of data at once, the writable._writev() method should be implemented.

它还说:

The primary intent of writable.cork() is to avoid a situation where writing many small chunks of data to a stream do not cause a backup in the internal buffer that would have an adverse impact on performance. In such situations, implementations that implement the writable._writev() method can perform buffered writes in a more optimized manner.

从流实现的角度来看,这是可以的。但是从可写流消费者的角度来看,调用 writewritev 的唯一方法是通过 Writable.write()writable .cork()

我想看一个小例子来描述实现 _writev()

的实际用例

最佳答案

除了 write 之外,还可以将 writev 方法添加到实例中,如果流包含多个 block ,将选择该方法而不是 write 。例如 Elasticsearch 允许你批量插入记录;因此,如果您正在创建一个可写流来包装 Elasticsearch,那么使用 writev 方法来执行单个批量插入而不是几个单独的插入是有意义的,它的效率要高得多。例如,对于 MongoDB 等也是如此。

这篇文章(不是我的)展示了一个 Elasticsearch 实现 https://medium.com/@mark.birbeck/using-writev-to-create-a-fast-writable-stream-for-elasticsearch-ac69bd010802

关于node.js - 在 node.js 中正确使用 _writev,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41333617/

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