RPRX:可直接用 buf 接收 TCP/IP 数据再 trim 掉多余头部,减少一次拷贝
在 Xray-core PR #7130 讨论性能优化时表示:没细看代码,不过显然有一个点是 core 需要先准备一部分内存接收 TCP/IP 的数据,然后 buf 模块又是自己的内存 pool,这里肯定可以减少一次 copy——直接用 buf 来接收 TCP/IP 数据,然后 trim 掉多余的 TCP/IP header。
作者原文@RPRX@4RH1T3CT0R7 另外关于性能优化我没细看代码,不过显然有一个点是 core 需要先准备一部分内存接收 TCP/IP 的数据,然后 buf 模块又是自己的内存 pool,这里肯定可以减少一次 copy,直接用 buf 来接收 TCP/IP 数据然后 trim 掉多余的 TCP/IP header
往回写其实也是类似的,尤其是本地不咋丢包,这也是为啥我不赞同用外部库,外部库如果只提供标准 Read() 接口的话就废了