gpt4 book ai didi

node.js - 为什么安装 bufferUtil 和 utf-8-validate 可以显着提高 Node.js 中 WS websocket 库的性能?

转载 作者:太空宇宙 更新时间:2023-11-03 22:10:16 27 4
gpt4 key购买 nike

在阅读documentation时对于 WS websocket 库,我注意到以下声明:

There are 2 optional modules that can be installed along side with the ws module. These modules are binary addons which improve certain operations. Prebuilt binaries are available for the most popular platforms so you don't necessarily need to have a C++ compiler installed on your machine.

npm install --save-optional bufferutil: Allows to efficiently perform operations such as masking and unmasking the data payload of the WebSocket frames.
npm install --save-optional utf-8-validate: Allows to efficiently check if a message contains valid UTF-8 as required by the spec.

果然,安装这些模块给我带来了显着更好的性能。我的问题是:为什么它们会产生如此巨大的差异?是什么让图书馆变得更快?是因为它们是用 C++ 编写的吗?

最佳答案

简而言之:是的。

使用 Nodejs,有两种模块:

C/C++ Addon 模块使用名为 node-gyp 的工具进行编译,并分布在扩展名为 .node 的文件中。在 Node 模块内,您可以require C/C++ Addon 模块,就像require 常规Javascript 模块一样:

const addonModule = require('addonModule.node);

关于node.js - 为什么安装 bufferUtil 和 utf-8-validate 可以显着提高 Node.js 中 WS websocket 库的性能?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44252051/

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