Skip to content

Conversation

@Fangliding
Copy link
Member

这样可以解决 #5409 (comment) 提到的所有问题了 但是有点丑 如果套一层reader就炸了(

@yuhan6665
Copy link
Member

加入了测试结果:好像这个版本把 mux 关掉的话反而慢了

download 313 Mbits/sec
vless ws mux off copyv 5%
vless ws mux on copyv 5%
vless ws mux off copyv(fake) 2%
vless ws mux on copyv(fake) 5%
vless ws mux off v25.12.2 3%
vless ws mux on v25.12.2 7%
vless ws mux off fcdd4df Aug 28 7%
vless ws mux on fcdd4df Aug 28 9%

upload 325 Mbits/sec
vless ws mux off copyv 2%
vless ws mux on copyv 5%
vless ws mux off copyv(fake) 1.5%
vless ws mux on copyv(fake) 4%
vless ws mux off v25.12.2 1.5%
vless ws mux on v25.12.2 4%
vless ws mux off fcdd4df Aug 28 3%
vless ws mux on fcdd4df Aug 28 4%

@Fangliding
Copy link
Member Author

之前断言失败的性能提升应该是来自pipe
我回去写个iperf看看能不能统一口径吧

@RPRX
Copy link
Member

RPRX commented Dec 31, 2025

这个可以合了吗

@Fangliding
Copy link
Member Author

yuhan说性能会开倒车 还得缓缓

@Fangliding Fangliding marked this pull request as draft December 31, 2025 09:09
@Fangliding Fangliding marked this pull request as ready for review December 31, 2025 09:20
@Fangliding
Copy link
Member Author

Fangliding commented Dec 31, 2025

我滚了一下 pipe本身是没啥问题的 应该可以合 主要是后面发现的那个gather io的问题

@RPRX
Copy link
Member

RPRX commented Jan 6, 2026

可以合了?

@Fangliding
Copy link
Member Author

这是只去掉了pipe里乱用 runtime.Gosched() 的问题 应该没啥问题
另一个尝试恢复旧版本writeV的部分我丢去其他分支了

@RPRX
Copy link
Member

RPRX commented Jan 6, 2026

我记得有些代码就是依赖这里的 runtime.Gosched() 才能正常运行,不过用到 pipe 的只剩 mux/reverse 和非重点协议了,合了看看

@RPRX RPRX changed the title Optimize pipe transport/pipe/impl.go: Remove runtime.Gosched() in WriteMultiBuffer() Jan 6, 2026
@RPRX RPRX merged commit d902585 into main Jan 6, 2026
273 of 277 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants