gpt4 book ai didi

node.js - 慢 Buffer.concat

转载 作者:搜寻专家 更新时间:2023-11-01 00:29:16 25 4
gpt4 key购买 nike

当我以 64Kb 的片段读取一个 16MB 的文件,并对每个片段执行 Buffer.concat 时,后者被证明非常慢,需要整整 4 秒才能完成。

有没有更好的方法在 Node.js 中连接缓冲区?

使用的 Node.js 版本:7.10.0,在 Windows 10 下(均为 64 位)。


在研究以下问题时提出了这个问题:https://github.com/brianc/node-postgres/issues/1286 ,这会影响大量观众。

PostgreSQL 驱动程序以 64Kb 的 block 读取大型 bytea 列,然后将它们连接起来。我们发现调用 Buffer.concat 是导致此类示例性能大幅下降的罪魁祸首。

最佳答案

与其每次都连接(每次都创建一个新缓冲区),不如保留所有缓冲区的数组并在最后连接。

Buffer.concat() 可以获取整个缓冲区列表。然后它在一次操作中完成。 https://nodejs.org/api/buffer.html#buffer_class_method_buffer_concat_list_totallength

关于node.js - 慢 Buffer.concat,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43900530/

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