81 pointsby phren0logy8 hours ago9 comments
  • rockwotj6 hours ago
    With the new GC I really love the trend of understanding memory bandwidth is the bottleneck for many things and the combination of locality and SIMD is a big performance unlock.

    Reminds me of the WAND vs MAXSCORE discussion by turbopuffer: https://turbopuffer.com/blog/fts-v2-maxscore

  • guessmyname5 hours ago
    > Optimized fmt.Errorf — With the new Go release, this debate should finally be settled. For unformatted strings, fmt.Errorf now allocates less and generally matches the allocations for errors.New. Specifically, fmt.Errorf goes from 2 allocations to 0 allocations for a non-escaping error, and from 2 allocations to 1 allocation for an escaping error […]

    Thank you so much!!! I used to always take an extra second to decide which one to use based on the function’s parameter(s), and now I feel like I’m getting that time back, no sarcasm at all. This is a genuinely great improvement.

  • throwawaygod3 hours ago
    The differences btwn new() and make() is even lesser now. Is the goal is to deprecate make()?
  • ShayNehmad5 hours ago
    Anton's interactive tour is the best way to read the release notes IMO! As mentioned on Cup o' Go.
    • metaltyphoon3 hours ago
      Cup ‘o Go? The name is familiar. If yes, love the show and listen to every episode even though I rarely use Go!
  • slantedview5 hours ago
    The recursive type constraints are excellent.
  • dmix6 hours ago
    I don't use Go often but that's an excellent summary article.
  • SSchick6 hours ago
    Fed *bool `json:"is_fed"` // you can never be sure

    felt that part

  • XorNot4 hours ago
    Oh wow the changes to new() are an enormous ergonomics unlock. ErrAsType will also replace a similar package for me (too bad value errors will still be a thing though, and beginning new type errors still so wordy).
  • binary1325 hours ago
    Wow, big release. I wonder if it was AI facilitated?