%% Last Updated: [[2021-02-15]] - [[2020-12-28]] - [[2020-12-15]] - [[2020-12-14]] %% # Go is built with performance in mind [[Go]] has some cool features that make it uniquely suited to being used for anything that needs to run quickly and efficiently. This includes load testing. [[k6 (tool)]] is built in Go. ## Reasons why Go is so fast ### [[Goroutines]] The abstraction of goroutines on top of kernel or OS threads gives Go apps a degree of control Goroutines operate more efficiently than OS threads. [[The 1 Thread=1 Virtual User Paradigm is flawed]] ### [[Go Scheduler]] manages goroutines efficiently ### Go runs directly on native hardware Go is a compiled language and does not need to be interpreted, unlike [[Java]] or [[Python]]. There is no added layer of complexity. - No external dependencies at all ![[Why Should You Learn Go#^e36e86]] ![[Why Should You Learn Go#^cd3193]] ![[Why Should You Learn Go#^de8e4d]] ![[Why Should You Learn Go#^642401]] Go uses the resources (RAM and CPU) without needing those to be allocated. ## Anecdotal - Go was built and is still used by [[Google]] to manage their servers worldwide.