TGViewer
BASCODE BASCODE @bascodech · 140 subscribers
Post #133 149
Распаковал 30 релизов Go подряд, 2.9 ГБ исходников. Ради одного вопроса.

Вопрос такой: почему рантайм устроен именно так, а не иначе. Релизноты-то можно вычитать, там все написано. А на "почему" в них ответа нет вообще.

Единственный способ, который у меня сработал: поставить рядом proc.c времен Go 1.0 и proc.go 2026-го и читать их как две редакции одной книги.

Что видно, когда листаешь подряд:

2009, одна очередь под одним замком и GOMAXPROCS=1 по умолчанию, с честным комментарием авторов, что цель сейчас просто чтобы хоть что-то работало
1.1, схема GMP, локальные очереди, воровство работы
1.2, горутину стало можно прервать, хаком поверх проверки стека
1.3 и 1.4, стеки научились переезжать по памяти и ужались до 2 КБ
1.14, вытеснение сигналом SIGURG
1.25, GOMAXPROCS сам читает лимит cgroup
1.26, рантайм научился замечать утекшие горутины

А теперь то, ради чего я это все и затевал. Семантика двух символов go f() не менялась с 2009 года ни разу. Внутренности под ней переписали трижды, включая полный переезд рантайма с C на Go, и ни одна программа от этого не сломалась.

Обычно "обратная совместимость" звучит как оправдание для легаси. Здесь наоборот: интерфейс зафиксировали так удачно, что под ним можно было переделать вообще все.

Хоть и с запозданием в три дня, но финальная третья часть статьи готова!

https://habr.com/ru/articles/1077498/
  • 🔥 6
More from @bascodech
  1. Sep 18, 2026Мысли про дебаггинг и IDE в 2026 Вот интересная история... Расс Кокс выложил пять сессий,…
  2. Sep 14, 2026Кодить без AI сейчас как заниматься айкидо. Красиво и глубоко и десять лет до черного пояс…
  3. Sep 7, 2026Выложил свой statusline для claude code в публичный репозиторий. Лимитов у подписки три: п…
  4. Sep 5, 2026Рубрика "лысая мудрость" Как я больше года храбро готовился, но так ничего и не сделал. Вт…
  5. Aug 29, 2026Сегодня у кого-то будет распаковка :-)
  6. Aug 27, 2026dndmode с 1.3.0 уже дорос до 3.4.1. Если пропустил: это CLI, который накрывает все экраны…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →