segmentio / asm

Go library providing algorithms optimized to leverage the characteristics of modern CPUs
MIT No Attribution
869 stars 36 forks source link

.github: update to Go 1.18.1 #76

Closed kevinburkesegment closed 2 years ago

kevinburkesegment commented 2 years ago

Also regenerate all of the stubs, we don't need "+build" anymore because both Go 1.17 and 1.18 use "go:build" for build tags.

kevinburke commented 2 years ago

Are we dropping compatibility with 1.16 if we remove +build?

Yes, I think so, but note the go formatter is doing this automatically. So we either need to use 1.16/1.17 to generate these files always, or upgrade.

IMO if you care enough about perf to use this library you should be given carrots to upgrade, or interested in upgrading.

achille-roussel commented 2 years ago

The segmentio/encoding package depends on this one, users may have indirect dependencies on segmentio/asm, that would break compilation of their programs then.

I'm not against making the change but I think we need to carefully vet the impact, and take proactive steps to mitigate it, for example:

mmcloughlin commented 2 years ago

For what it's worth, I think supporting the last two Go versions is a common practice since it matches the support policy of Go itself.

kevinburkesegment commented 2 years ago

Ok - I've done everything on the list here: https://github.com/segmentio/asm/pull/76#issuecomment-1105908240