Announcement

Collapse
No announcement yet.

Go 1.21 Enabling PGO For Faster Performance, Tuned Garbage Collector

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Go 1.21 Enabling PGO For Faster Performance, Tuned Garbage Collector

    Phoronix: Go 1.21 Enabling PGO For Faster Performance, Tuned Garbage Collector

    The Go 1.21 release candidate is out today and it's interesting on the performance front plus a few language additions like min / max / clear functions as well as further enhancing its standard library...

    Phoronix, Linux Hardware Reviews, Linux hardware benchmarks, Linux server benchmarks, Linux benchmarking, Desktop Linux, Linux performance, Open Source graphics, Linux How To, Ubuntu benchmarks, Ubuntu hardware, Phoronix Test Suite

  • #2
    what an awesome release!

    the standard library additions basically addresses all my complains about the language.

    also, some performance improvements are always welcome.

    kudos to the Go team!
    Last edited by cynic; 21 June 2023, 10:37 PM.

    Comment


    • #3
      "Tuned Garbage Collector"

      I've been called worse. Look, it's gonna be worth something someday as long as it's kept dry and nobody opens the packaging.

      Comment


      • #4
        I'm mostly interested in the WASI support because it means Go-written tools should be uploadable to the package repository for Wasmer's WAPM package manager.

        (Think npm -g/npx, but sandboxed and with capability-based security. It's essentially the CLI version of what XDG portals do for GUI apps in stuff like Flatpak and snaps. Definitely something to encourage more use of.)
        Last edited by ssokolow; 22 June 2023, 11:51 AM.

        Comment


        • #5
          Originally posted by ssokolow View Post
          I'm mostly interested in the WASI support because it means Go-written tools should be uploadable to the package repository for Wasmer's WAPM package manager.

          (Think npm -g/npx, but sandboxed and with capability-based security. Definitely something to encourage more use of.)
          Is it a good choice though? I've found it good for prototyping something quickly, but the resulting "binary" was quite large due to including parts of the runtime.

          Comment


          • #6
            Originally posted by bug77 View Post

            Is it a good choice though? I've found it good for prototyping something quickly, but the resulting "binary" was quite large due to including parts of the runtime.
            How large is a simple "hello world"?
            how do it compare (in size) to other languages?

            I've never written Go for WASM but was considering it for a new project
            Last edited by cynic; 22 June 2023, 05:56 AM.

            Comment


            • #7
              Originally posted by mangeek View Post
              "Tuned Garbage Collector"

              I've been called worse. Look, it's gonna be worth something someday as long as it's kept dry and nobody opens the packaging.
              Hoarder alert, hoarder alert! Don't worry, I'm not judging, I've been known to do a little of that from time to time

              Comment


              • #8
                Originally posted by cynic View Post

                How large is a simple "hello world"?
                how do it compare (in size) to other languages?

                I've never written Go for WASM but was considering it for a new project
                Go really wasn't made for small places. Hello World for a go binary is almost 2mb out of the box and nearly 1mb when you compile it stripped.

                But Google has been supporting an alternate compiler for the last couple of years called Tinygo. TinyGo was made with microcontrollers and WASM in mind and if your Go program compiles with it it'll be much smaller. The drawback is TinyGo still doesn't support the entire standard library so if you're using an unsupported package your program isn't going to compile.

                Comment


                • #9
                  Originally posted by cynic View Post

                  How large is a simple "hello world"?
                  how do it compare (in size) to other languages?

                  I've never written Go for WASM but was considering it for a new project
                  I can't remember exactly, for a simple call, I ended up with something like 2 or 5 MB in size. Granted, that's a flat fee, as your WASM code grows, the runtime overhead doesn't.
                  It's still worth it if you just want to kick the tires, it barely requires any setup, unlike other languages.

                  Comment

                  Working...
                  X