-
Notifications
You must be signed in to change notification settings - Fork 125
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
Remove amd64 assembly if it isn't faster than generated Go code #44
Milestone
Comments
I'm still seeing a pretty big performance gap on the Core i7-3770K (Go 1.15.3):
|
Figures from #68 (with that PR applied) show that the gap has been closing, but Go 1.19 isn't quite there yet (new=asm):
|
Another data point for you, with Go v1.22.3, Linux kernel v6.9.1. Zen 3 Ryzen, laptop spec. Pure Go:
Impure Go:
System info:
(I assume a full on cpuid dump would be overkill =P) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Last I looked at the benchmarks (several Go releases ago), the compiler had closed a lot of ground and the amd64 assembly version was only a little faster. We should check again, and more comprehensively (i.e. against a wider array of amd64 CPUs). If the asm version has no comprehensive advantage on the latest Go version, we should delete the assembly code and stick to pure Go.
If we did that, it would be in a new major version of the package.
If the hand-rolled assembly still has an advantage, consider filing compiler bugs for any obvious deficiencies in the generated code.
The text was updated successfully, but these errors were encountered: