Go является быстрым и производительным языком благодаря некоторым очень важным оптимизациям:
Inlining - компилятор Go сохраняет вызовы функций, рассматривая тело функции так, как если бы оно было частью вызывающей функции. Это связано с увеличением размера двоичного файла, поэтому Go делает это только в тех случаях, когда это имеет смысл
Escape-анализ - в Go реализована эта оптимизация, которая анализирует область видимости ссылок на значение. Если ссылки не выходят за пределы области видимости, то они сохраняются в стеке, что значительно быстрее и не требует сборки мусора
Сборка мусора - предотвращает утечки памяти и имеет очень низкую латентность
Параллелизм - Goroutines мультиплексируются с небольшим числом потоков ОС. Они описываются как легковесные потоки с небольшим размером стека, которые совместно планируются и управляются средой выполнения Go. Go-рутины передают управление в естественных точках остановки, что делает их более производительными, чем потоки, управляемые ядром.