-
Notifications
You must be signed in to change notification settings - Fork 44
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
ci: enable SIMD instructions for x86_64 targets #423
base: master
Are you sure you want to change the base?
Conversation
3f01184
to
f0e223d
Compare
f0e223d
to
128d486
Compare
https://github.com/Watfaq/clash-rs/releases/tag/v0.1.17
Seems SIMD is enabled by default on x86_64 targets. |
It might be introduced by |
It looks like we shouldn't target a specific CPU which would cause degradation on other platforms? Unless we build binary for each cpu ? https://github.com/rust-lang/portable-simd/blob/master/beginners-guide.md |
I use target CPU because there are about 5~8 target features need to be written. Using target cpu is shorter. And I dont think it downgarde perf on other cpu. The sandy bridge is quite a modern CPU. It supports sse1 to sse4 , aes and sha instructions which includes default instrctions we are using now. |
Okay makes sense |
It sounds like a easy-to-obtain improvement, but I'd like to share Rob pike's programming principles |
We do need some performance characterization methods.But I think the performance of clash-rs is limited to user actual network condition.(CN2, BGP etc.) The perf test on local loopback could never be reach in realworld. |
that's true, the network condition between test machines must be stable enough, in another words, they'd better exist under the same LAN |
Signed-off-by: iHsin <[email protected]>
🤔 This is a ...