Почему минимальный проект в Go весит так много?
Давайте напишем очень простую программу, которая выводит строку "Hello, r/blog!" на консоль:
package main
func main() {
fmt.Print("Hello, r/blog!")
}
Если мы посмотрим размер файла main.go, то он будет весить всего пару кбайт, а вот если мы его скомпилируем и посмотрим на размер файла после сборки, то размер увеличивается в разы и бинарный файл будет весить примерно 1-3мбайт.
Почему так происходит?
Потому что после сборки итоговый бинарный файл включает в себя:
- Стандартные библиотеки
- Отладочную информацию
- Runtime
- Аллокатор памяти
- Сборщик мусора (GC) и
- Планировщик
Всё это включается в итоговый бинарный файл, что и увеличивает его размер после сборки, т.к. без этого ваш банарник просто не запустится.
Комментарии
0
Ты: ...
Пока нет комментариев. Будь первым.