← Назад

Почему минимальный проект в Go весит так много?

Давайте напишем очень простую программу, которая выводит строку "Hello, r/blog!" на консоль:

go
package main

func main() {
    fmt.Print("Hello, r/blog!")
}

Если мы посмотрим размер файла main.go, то он будет весить всего пару кбайт, а вот если мы его скомпилируем и посмотрим на размер файла после сборки, то размер увеличивается в разы и бинарный файл будет весить примерно 1-3мбайт.

Почему так происходит?

Потому что после сборки итоговый бинарный файл включает в себя:

  • Стандартные библиотеки
  • Отладочную информацию
  • Runtime
    • Аллокатор памяти
    • Сборщик мусора (GC) и
    • Планировщик

Всё это включается в итоговый бинарный файл, что и увеличивает его размер после сборки, т.к. без этого ваш банарник просто не запустится.

Похожие статьи

Quick Sort: быстрая сортировка

Сортировка — одна из базовых задач в программировании. Упорядоченные данные легче искать, сравнивать и обрабатывать. За десятилетия придумали десятки алгоритмов сортировки. У каждого свои сильные и слабые стороны. Сегодня рассмотрим Quick Sort,

09.04.2026 · 3 мин

Односвязный список

Рассмотрим на практике что такое односвязный список, из чего он состоит и как работает...

07.04.2026 · 2 мин

Neetcode | Decode String

Решение алгоритмической задачки «Decode string» на Go.

16.04.2026 · 3 мин

Garbage Collector in Go

Garbage Collector (GC) или сборщик мусора - это автоматический менеджер памяти, встроенный в среду выполнения (runtime). Его основная задача - освободить разработчика от ручного управления памятью.

07.04.2026 · 3 мин

Комментарии

0

Ты: ...

Пока нет комментариев. Будь первым.