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.4: