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

Upgrade to Go 1.24 #588

Merged
merged 1 commit into from
Feb 13, 2025
Merged

Upgrade to Go 1.24 #588

merged 1 commit into from
Feb 13, 2025

Conversation

apocelipes
Copy link
Contributor

@apocelipes apocelipes commented Feb 12, 2025

I think it's time to upgrade to Go v1.24. Using the new API strings.SplitSeq and the new implemention of builtin maps, we can gain about 5% performance improvements:

benchmarks

The 1.24 release note also says that sync.Map should have a better performance, but I have no enough time to do benchmarks, so this PR does not touch that part of the code.

Dependencies were also upgraded.

Edit: This PR should wait for the new docker images.

@boytertesting boytertesting bot added VH/complexity Very high complexity XL/size Extra large change labels Feb 12, 2025
@apocelipes apocelipes marked this pull request as draft February 12, 2025 10:03
@boytertesting boytertesting bot added M/complexity Normal or medium complexity M/size Normal or medium sized change and removed XL/size Extra large change VH/complexity Very high complexity labels Feb 12, 2025
@boyter
Copy link
Owner

boyter commented Feb 12, 2025

I have been playing around with 1.24 and it does look like the changes produce some repeatable albeit small gains. Once the docker build works we can look at adding this in. The moment it works I will cut a new release too.

@apocelipes
Copy link
Contributor Author

apocelipes commented Feb 13, 2025

Well, "golang:1.24.0-alpine3.20" can be pulled now but "mcr.microsoft.com/devcontainers/go:1.24" is still not available. That means https://vscode.dev/ can not be used on this repo for a few days until they update the image.

So shall we wait for "mcr.microsoft.com/devcontainers/go:1.24" or just upgrade the go version?
@boyter

@boyter
Copy link
Owner

boyter commented Feb 13, 2025

I think so. I want to see that nice green tick. If its not there by tomorrow ill merge anyway though.

Also upgrade modules.
@boyter
Copy link
Owner

boyter commented Feb 13, 2025

Oh very nice. Lets make it real.

@apocelipes
Copy link
Contributor Author

All the tests passed, so I guess I can remove the DRAFT status. .devcontainer/devcontainer.json can be updated in another pr when the MS updates their images (it usually takes days).

@apocelipes apocelipes marked this pull request as ready for review February 13, 2025 05:56
@boyter boyter merged commit 7c39a55 into boyter:master Feb 13, 2025
4 checks passed
@apocelipes apocelipes deleted the update-go124 branch February 13, 2025 06:17
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
M/complexity Normal or medium complexity M/size Normal or medium sized change
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants