Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

编译了一个优化版本 #306

Open
lls2wow opened this issue Nov 7, 2022 · 7 comments
Open

编译了一个优化版本 #306

lls2wow opened this issue Nov 7, 2022 · 7 comments

Comments

@lls2wow
Copy link

lls2wow commented Nov 7, 2022

English Only (except for bug reporting).
speederv2_amd64.zip

I made a twice faster udpspeeder than the author`s, please enjoy it ,but I only compile the amd64(linux) version.
It should be used in server and client both sides. Can`t one side use mine and other side use authors.
@Smallthing
Copy link

速度提升怎么做到的 能看看代码吗

@Smallthing
Copy link

还有为啥这么小,不敢打开

@lls2wow
Copy link
Author

lls2wow commented Nov 17, 2022

@Smallthing 用的avx指令集,这么冷门的玩意还怕我加东西呀,郁闷

@lls2wow
Copy link
Author

lls2wow commented Nov 17, 2022

@Smallthing 这么小你也可以做到 linux下有个strip命令,你自己编译一个官方版本的 然后用strip处理一下就这么小了

@Smallthing
Copy link

哦哦 avx的话 arm路由器就用不了了 只能x86对接x86

@testcaoy7
Copy link

Good job.
看来我也得去编译一个

@testcaoy7
Copy link

testcaoy7 commented Aug 29, 2023

I made a PGO optimized version. But I don't know how to benchmark its performance against GitHub release binary.

Method:
Strip all optimization related flags.
Add -fprofile-generate flag.
Build pre-PGO binary.
Run iperf3 for a while.
Build post-PGO binary with -fprofile-use=*.gcda -Wno-error=coverage-mismatch -fprofile-correction

P.S.
I really don't understand what -Wno-error=coverage-mismatch and -fprofile-correction will do.
I just saw them were added in this thread:
https://forums.gentoo.org/viewtopic-t-938468.html

P.P.S.
Use pre-PGO binary against real-world workloads.
You have to run iperf3 (or anything you want to run inside the tunnel) on your VPS.
If not, PGO feedback might harm the overall performance of the final build instead of improving it.

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

No branches or pull requests

3 participants