Go 1.4 runtime visualized

2014-12-11

Go 1.4 is out! I won’t reiterate the changes, read the release notes for that. But it’s one thing to read that things have improved – what if I could show you the improvement?

These snapshots are from an upcoming feature for Inspeqtor Pro: real-time memory and GC monitoring for any Go-based daemon. They show the first 3 minutes of Inspeqtor Pro itself starting up. After 1 minute, it sends an alert email. That big spike you see is all the code required to send email to Gmail (net/smtp, TLS, etc) being paged into memory. The small but regular bumps in Allocated Memory are from Inspeqtor Pro gathering system metrics every 15 seconds.

Some notes: GC in 1.4 looks faster than in 1.3.3, there’s no pause in 1.3.3 that is less than 1ms. Total memory shrunk about 1MB, from 4 to 3 MB, and the total size at startup is noticably smaller. Awesome!

Interested in seeing this for your own Go daemons? Chime in on the GitHub issue and give Inspeqtor a test drive.

Go 1.3.3: go-1.3.3

Go 1.4: go-1.4