☕️ Мерлин заваривает τσάι 🐌
1.11K subscribers
3.52K photos
63 videos
94 files
2.42K links
💊
Download Telegram
Варю компот: яблоки, груши, клубника, мята. Запах стоит...
Чуваки из Cocroach Labs озаботились размером (71 Мб) бинарника CocroachDB и решили посмотреть в чём дело. Это вылилось в расследование, в ходе которого исследователи распотрошили бинарь и попытались понять, что же там такое интересненькое и толстенькое генерирует компилятор Go. В итоге получилась красивая интерактивная виртуализация.

Главные виновники ожирения гофера:
- runtime.pclntab – таблица с отладочной информацией для каждой функции в программе: по сути отображает метки дебага в номера строк исходного кода. На данный момент эта таблица занимает 26 из 71 Мб бинаря – больше трети!
- go.itab – таблица кастования каждого интерфейса к каждому
- код, полученный в результате кодогенерации

В целом не так уж страшно, но интересно
Наконец-то запустили в альфа режиме узел Go Module!.
Эта штука нужна не для хранения исходного кода, на ней лежат подписанные имена пакетов, хэши, информации о версии и ссылки на репозитории

На данный момент доступны все три компонента:
- proxy.golang.org: зеркало исходного кода модулей
- sum.golang.org: база данных подписанных хэшей модулей
- index.golang.org/: лог обновлений модуля

Вся система должна в итоге образовать что-то типа федеративной версии NPM. Предполагается, что пользователи будут активно поднимать зеркала, на которые будут стримится метаданные модулей

О планах на развитие этой штуки в прошлом году был пост в блоге разработчиков.
Forwarded from oleg_log (Oleg Kovalov)