%%
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.