TGViewer
anton2920 anton2920 @anton2920_official · 987 subscribers
Post #466 972
Три недели тому назад я показал, как можно собрать программу на Go вообще без стандартной библиотеки. Тогда для демонстрации я использовал свою любимую версию Go 1.4.3, а также в конце сказал, что по аналогии можно заставить таким образом работать и остальные версии.

Что ж, прошло три недели и я-таки заставил. Причём вообще все! Да-да, все большие версии с 1.3 по 1.27! С версиями 1.0, 1.1 и 1.2 тоже можно было бы, но там компилятор плохо оптимизирует выделения памяти, так что потребовалось бы реализовать, например, runtime.new а этого я делать принципиально не хочу. Эти версии я просто заставил работать на современной FreeBSD.

Все изменённые версии компиляторов доступны в моём репозитории. Выбирайте ветку с нужной версией и вперёд. Сразу отмечу, что вам также потребуется мой пакет с заглушками nostd. Вы можете написать и свой, но о нём придётся дать знать компилятору. С версии 1.6 флага -+ больше недостаточно.

Для теста я взял TCP echo-сервер и проверил его со всеми версиями. Всё работает как с тестом problem/0 сайта Protohackers, так и под нагрузкой от tcpkali2. Проверял только на freebsd/amd64. Может быть для других программ потребуются ещё какие-нибудь заглушки либо же всплывут какие-нибудь косяки, но это уже мелочи по сравнению с возможностью теперь писать на языке Go как и что угодно!

Также мои усилия открывают ещё кучу дорог для интересных экспериментов. Например, с какой версией получается самый маленький исполняемый файл, какая версия компилятора лучше оптимизирует, где runtime.a самый тяжёлый, насколько вообще наличие runtime.a влияет на производительность, как на неё влияют изменения в планировщике при переходе с 1.0 на 1.1 и с 1.13 на 1.14, где самая производительная реализация стандартного net/http ну и так далее. Можно теперь баловаться с этим как угодно.

Жду от вас в комментариях, что лично вам было бы интереснее всего проверить на разных версиях.
  • 🔥 13
  • ❤ 4
More from @anton2920_official
  1. Sep 28, 2026Помните JetBrains Fleet? Да-да, тот самый «редактор нового поколения», который тормозил ва…
  2. Sep 23, 2026Сегодня вечером решил пойти в бассейн. Так вот плавание у меня началось задолго до прибыти…
  3. Sep 21, 2026Друзья, сегодня было время и я решил уделить его созданию обещанной страницы. Пока что доб…
  4. Sep 19, 2026Послушайте, какой идиот додумался переводить названия и описания видео на YouTube с русско…
  5. Sep 17, 2026Хочу сделать на своём сайте раздел с полезными (по моему мнению) ссылками на различные док…
  6. Sep 9, 2026Вымирающий вид — программист, обсуждающий шаблоны проектирования (картинки публикаций в ко…
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 →