TGViewer
Channel Public Channel
Golang вопросы собеседований

Golang вопросы собеседований

@golang_interview

@notxxx1 - админ

@Golang_google - Golang для разработчиков

@itchannels_telegram - 🔥лучшие из ит

@golangl - chat

@golangtests - golang tests

@golang_jobsgo - go chat jobs

@ai_machinelearning_big_data - AI

@data_analysis_ml

РКН: clck.ru/3FmtKd
Subscribers
15.1K
Photos
866
Videos
21
Links
647
Recent Posts 20 shown
Post #1575 1.35K
🐹 golang-set - готовые множества для Go с поддержкой дженериков

Библиотека для работы с коллекциями уникальных значений: убрать дубликаты, найти общие элементы или сравнить два набора данных.

Что умеет:
• Объединение, пересечение и разность множеств.
• Добавление, удаление и проверка наличия элементов.
• Работа с типами comparable.
• Две реализации: потокобезопасная и без синхронизации.

В версии 3.0.0 добавили Filter, AppendFrom и IsDisjoint — проверку отсутствия общих элементов. Убрали MongoDB-драйвер и поддержку BSON: теперь пакет зависит только от стандартной библиотеки.

Среди пользователей проекта - Docker, 1Password, Ethereum и HashiCorp.

🔗 https://github.com/deckarep/golang-set

#Go #Golang #OpenSource
  • 👍 7
Post #1574 2.44K
Apache Kafka курс 2026: бесплатный курс по Kafka с нуля до профи на русском

Kafka обучение без воды: каждый модуль состоит из понятной теории, схем, команд, которые можно запустить у себя, типичных ошибок и вопросов для самопроверки. Курс подходит, чтобы выучить Kafka с нуля, подготовиться к собеседованию на backend, data engineer или DevOps-позицию и спроектировать надёжную систему на Kafka в продакшене.

https://github.com/justxor/KAFKAFREECOURSR
  • 👍 21
Post #1573 2.61K
🔥 AI-кодинг в Go - не главная проблема. Проблема начинается, когда код никто нормально не проверяет.

Разбор актуальной практики 2026 года: Copilot, Cursor и Claude действительно хорошо справляются с boilerplate, тестами, миграциями и рутинным кодом. Но на сложных участках — concurrency, context, редкие API - ошибки всё ещё легко выглядят «правдоподобно».

Например, AI может сгенерировать код, который:

- компилируется, но содержит race condition
- теряет context и продолжает работу после отмены запроса
- придумывает несуществующий метод библиотеки
- проходит часть тестов, но ломается под нагрузкой

Вывод отсюда не в том, что AI плохо пишет Go.

Куда важнее сам workflow:

repo context → change → compile → tests → static analysis → race detector → review → fix → PR

То есть модель не должна быть «источником истины». Источником истины должны быть кодовая база, документация и детерминированные проверки.

Для Go это особенно важно:

go test ./...

go test -race ./...

go vet ./...

staticcheck ./...

Плюс отдельные правила для context, concurrency, shutdown, retries и внутренних API.

Ещё сильнее схема становится, если один агент пишет код, а другой отдельно проверяет concurrency, архитектуру и edge cases.

Идея простая:

не нужно добиваться от AI идеального кода с первой попытки — нужно строить систему, в которой плохой код не проходит дальше без проверки.

Это уже не просто AI-assisted coding.

Это переход к agentic software engineering.
  • 👍 7
  • 🥱 6
  • ❤ 4
  • 😁 3
Post #1572 1.88K
🔥 Хочешь расти в IT быстрее остальных? Перестань учиться в одиночку

Можно годами смотреть курсы, читать документацию и всё равно топтаться на месте.

А можно попасть в правильное окружение, где каждый день обсуждают новые инструменты, вакансии, реальные кейсы, ошибки и то, что уже завтра станет стандартом.

Здесь собраны папки и каналы по разным направлениям IT, чтобы ты быстрее находил нужных людей, идеи и полезный контент - без бесконечного поиска.

AI: t.me/ai_machinelearning_big_data
Python: t.me/pythonl
Linux: t.me/linuxacademiya
Хакинг: t.me/linuxkalii
DevOps: t.me/DevOPSitsec
Docker: https://t.me/+90Z5TAyfuNU5YmRi
Golang: t.me/Golang_google
Rust: t.me/rust_code
C++: t.me/cpluspluc
C#: t.me/csharp_ci
Java: t.me/javatg
JavaScript: t.me/javascriptv
React: t.me/react_tg
Frontend: t.me/front
PHP: t.me/phpshka
Android: t.me/android_its
Мобильная разработка: t.me/mobdevelop
Базы данных: t.me/sqlhub
Data Science: t.me/data_analysis_ml
Big Data: t.me/bigdatai
Математика: t.me/data_math
Физика: t.me/fizmat
Kubernetes: t.me/kubernetc
GameDev: https://t.me/gamedev
Haskell: t.me/haskell_tg

Собеседования и карьера:

DS собеседования: t.me/machinelearning_interview
Python собеседования: t.me/python_job_interview

Папка с вакансиями: t.me/addlist/_zyy_jQ_QUsyM2Vi
Папка Go разработчика: t.me/addlist/MUtJEeJSxeY2YTFi
Папка Python разработчика: t.me/addlist/eEPya-HF6mkxMGIy
Папка ML: https://t.me/addlist/2Ls-snqEeytkMDgy
Папка Frontend: https://t.me/addlist/mzMMG3RPZhY2M2Iy

Полезное сверху:

ИТ-мемы: t.me/memes_prog
Английский для программистов: t.me/english_forprogrammers
ИИ и технологии: t.me/vistehno
954 ГБ open-source курсов: https://t.me/+rKBQEMccAA01MTcy
ИТ-книги бесплатно: https://t.me/addlist/BkskQciUW_FhNjEy

Max Ai: https://max.ru/ai_machinelearning_big_data
Max python: https://max.ru/pythonl
ТЕХНО: https://max.ru/vistehno
Max Go: https://max.ru/Golang_google
Max Linux: https://max.ru/linuxkalii
Devops: https://max.ru/DevOPSitsec
C#: https://max.ru/csharp_ci
C++: https://max.ru/cpluspluc
SQL: https://max.ru/sqlhub
Java: https://max.ru/javatg

Подпишись и сохрани, здесь регулярно появляются новые подборки, инструменты и материалы, которые реально помогают расти быстрее.
  • ❤ 3
  • 👍 1
  • 🔥 1
Post #1571 2.06K
🐹 Go: `defer f.Close()` может скрыть ошибку записи

При работе с bufio.Writer данные сначала попадают в буфер. Ошибка может возникнуть при Flush() или закрытии файла - уже после успешного Write().

Сохранить все ошибки можно через именованный результат и errors.Join:


func save(path string, data []byte) (err error) {
f, err := os.Create(path)
if err != nil {
return err
}

w := bufio.NewWriter(f)

defer func() {
flushErr := w.Flush()
closeErr := f.Close()
err = errors.Join(err, flushErr, closeErr)
}()

_, err = w.Write(data)
return err
}


Нужны пакеты bufio, errors и os.

Что здесь важно:

* сначала выполняется Flush(), затем Close()
* файл закрывается даже при ошибке сброса буфера
* именованный err позволяет изменить результат после return, пока выполняется defer
* errors.Join сохраняет все ошибки; errors.Is и errors.As умеют их проверять
* если ошибок нет, результат остаётся nil

Ловушка: defer errors.Join(err, f.Close()) закроет файл сразу - аргументы отложенного вызова вычисляются при регистрации defer.

Приём работает в актуальном Go и доступен с Go 1.20. Flush() передаёт данные нижележащему writer; для синхронизации файла с хранилищем нужен отдельный f.Sync().

errors.Join - https://pkg.go.dev/errors#Join
os.File - https://pkg.go.dev/os#File.Sync
pkg.go.dev errors package - errors - Go Packages Package errors implements functions to manipulate errors.
  • 🔥 7
  • ❤ 1
  • 👍 1
Post #1570 1.75K

Forwarded from Machinelearning

⚡️ DeepSeek открыла веса V4.1-Flash

DeepSeek выложила свежайшую DeepSeek-V4.1-Flash, мультимодальную MoE-модель на 552 млрд параметров, с контекстом до миллиона токенов и методом Causal Encoder-Decoder под капотом, который вдвое удешевляет разбор входа.

Задача, под которую её делали, скучная, но дорогая. Долго работающий агент постоянно перечитывает свой контекст, и всё прочитанное приходится держать в KV-кэше.

На длинных дистанциях он раздувается, забивает видеопамять и упирается в пропускную способность шин.


В V4.1-Flash кэш сжат до 890 байт на токен, это вчетверо меньше, чем у V4-Flash, и в 437 раз, чем у первой версии DeepSeek.

Каждому слою внимания заранее назначен один из трёх режимов:

🟢в полном слой считает свои ключи и значения сам;
🟢в режиме переиндексации берёт их у предыдущего слоя, но заново выбирает, на что смотреть;
🟢в режиме повторного использования не считает ничего - берёт и чужой кэш, и чужой выбор.

Так хранить приходится в разы меньше. Сверху главный кэш держится в четырёхбитном формате FP4, и устойчивость к такой точности натренирована, а не добавлена после обучения.

🟡Causal Encoder-Decoder

Метод вдохновлен майкрософтовской работой You Only Cache Once про переиспользование KV-кэша слоями. DeepSeek внесла в него структурные улучшения, чтобы поднять ёмкость кэша и глубину вычислений при его порождении.

40 слоёв разделены пополам: 20 на энкодер, 20 - декодер. К и V для декодера не считаются в каждом его слое, а проецируются из последнего скрытого состояния энкодера.

Поэтому при разборе входа работает только первая половина сети - 8 млрд активных параметров на токен против 16 при генерации ответа.

Для агентов, у которых вход в разы длиннее вывода, это именно то, что нужно.


🟡Бенчмарки

На DeepSWE v1.1 модель берёт 74,2% против 74,0 у Claude Opus 5 и 73,0 у GPT-5.6 Sol.

На Terminal-Bench 2.1 - 90,6% (выше всех).

На AutomationBench - 54,8% против 50,3 у Opus 5.

А вот в Terminal-Bench 4.0, где нужны экспертные знания в науке, модель даёт 31,2% против 51,8 у Opus 5, то есть разрыв с топами на самых сложных задачах никуда не делся.


Модель поддерживает настраиваемый уровень рассуждений от 1 до 100, в API это три пресета: low, high, max - они соответствуют значениям 50, 75 и 100.

Шаблона чата в Jinja нет - вместо него советуют реализацию промптов на Python и отдельный набор Rust-библиотек.

Сообщество на Hugging Face уже сделало квантованные версии практически под всё.


📌Лицензирование: MIT License


🟡Блогпост
🟡Веса
🟡Техотчет


@ai_machinelearning_big_data

#AI #ML #MMLM #MoE #Deepseek
  • ❤ 5
  • 👍 3
  • 🔥 1
Post #1569 2.02K
Команды ждут тебя на треке программирование роботов на МТС True Tech Champ 2026  — всероссийском чемпионате по программированию с двумя треками и призовым фондом 10 250 000 рублей.

Успей зарегистрироваться до 13 сентября.

В треке программирования роботов тебе предстоит запрограммировать робособаку для доставки груза через полосу препятствий сначала в онлайн-симуляторе, а затем на офлайн-полигоне в финале 22 октября. Рекомендуемые стеки: Go, Java, Python, C#, C++, JS.

Участие в командах 2-5 человек. Если у тебя нет своей команды, кураторы помогут объединиться с другими участниками на платформе.

Масштабный финал объединит борьбу за призовой фонд 10 250 000 рублей, выступления хедлайнеров, доклады спикеров и активности для всех гостей мероприятия.

Успей зарегистрироваться и пройти квалификацию до 13 сентября.

erid:2VSb5xDCSMY
  • ❤ 1
Post #1568 3.2K
🔥 monty-go - безопасный запуск Python-кода от LLM прямо внутри Go

Проект оборачивает интерпретатор Pydantic Monty в WebAssembly и запускает его через wazero.

Что интересно:

- pure Go — без CGO
- без контейнеров и subprocess
- запуск sandbox меньше миллисекунды
- WASM-бинарник всего около 2,9 МБ
- можно ограничить память, время, число аллокаций и глубину рекурсии
- доступ к файлам и ОС идёт только через разрешённые Go-callbacks
- внешние функции работают через pause/resume

Главная идея — агент может написать один Python-скрипт, который вызывает ваши Go-инструменты, вместо длинной цепочки отдельных tool calls. Это уменьшает число обращений к модели и упрощает сложные agentic workflow.

MIT.

https://github.com/fugue-labs/monty-go
  • 👍 9
  • ❤ 5
  • 🥰 4
  • 🥴 1
Post #1567 5.99K
Spinifex - open-source платформа с AWS-совместимым API для запуска инфраструктуры на собственном железе.

Проект позволяет поднимать сервисы, похожие на:

- EC2
- VPC
- S3
- EBS

Всё работает на bare metal и остаётся под полным контролем владельца инфраструктуры.

Spinifex рассчитан на сценарии, где обычное облако использовать нельзя или нежелательно:

- edge-площадки
- частные дата-центры
- среды с плохой связью
- изолированные и высокорисковые инфраструктуры

Идея простая: получить привычную облачную модель AWS, но без зависимости от публичного облака.

Проект написан на Go и открыт на GitHub:

https://github.com/mulgadc/spinifex
  • ❤ 6
  • 👏 3
  • 👍 2
  • 🔥 1
Post #1566 3.16K
🔴 Тестовое собеседование с Go Senior с опытом работы в Яндексе, EPAM и Uzum в этот четверг

3 сентября(в четверг!) в 19:00 по мск приходи онлайн на открытое собеседование, чтобы посмотреть на настоящее интервью на Middle Go-разработчика.

Как это будет:
📂 Маруф Караев, Senior в европейской компании, ex-Uzum, ex-Яндекс, ex-EPAM будет задавать реальные вопросы и задачи разработчику-добровольцу
📂 Маруф будет комментировать каждый ответ респондента, чтобы дать понять, чего от вас ожидает собеседующий на интервью
📂 В конце можно будет задать любой вопрос Маруфу

Это бесплатно. Эфир проходит в рамках менторской программы от ШОРТКАТ для Go-разработчиков, которые хотят повысить свой грейд, ЗП и прокачать скиллы.

Переходи в нашего бота, чтобы получить ссылку на эфир → @shortcut_go_bot

Реклама.
О рекламодателе.
Post #1565 3.01K
🔥 В Go есть странная, но полностью валидная конструкция:

error.Error(errors.ErrUnsupported)

Почему это работает:

- errors.ErrUnsupported — реальная ошибка из пакета errors
- error — интерфейс
- Error — его метод
- метод в Go можно вызвать как обычную функцию через method expression

Поэтому:


err := errors.New("oops")

err.Error()
error.Error(err)


дадут одинаковый результат.

А:


error.Error(errors.ErrUnsupported)



вернёт:


"unsupported operation"

Непривычный синтаксис, который легко принять за ошибку, хотя это обычная возможность языка.
  • 👍 7
  • 🔥 6
  • ❤ 3
  • 😁 3
Post #1564 3.22K
🔥 diffyml - быстрый структурный diff для YAML и Kubernetes

Вместо обычного сравнения строк инструмент понимает структуру YAML и показывает реальные изменения в данных.

Что умеет:

- сравнивать Kubernetes-ресурсы по apiVersion + kind + name
- находить переименования ресурсов
- сравнивать директории
- подсвечивать изменения внутри строк
- работать как git external diff
- отдавать аннотации для GitHub, GitLab и Gitea CI
- маскировать чувствительные значения
- генерировать AI-summary изменений

Написан на Go и имеет всего одну внешнюю зависимость. На больших YAML-файлах авторы заявляют скорость до 1,5-1,9× выше ближайшего YAML-aware конкурента.

https://github.com/szhekpisov/diffyml
  • ❤ 9
  • 👍 4
  • 🥰 4
Post #1563 4.27K
10 GitHub-репозиториев, которые стоит сохранить Go-разработчику в 2026 году.

1. Golang Roadmap 2026 🇷🇺

Один из самых полных свежих roadmap на русском: 19 модулей от синтаксиса и concurrency до PostgreSQL, gRPC, Kubernetes, observability, distributed systems, eBPF, Wasm и AI-агентов. В каждом модуле есть практика и проекты.

github.com/Develp10/golangroadmap2026

2. Learn Go with Tests

Один из лучших способов реально выучить Go, а не просто читать синтаксис. Язык изучается через TDD: interfaces, concurrency, context, HTTP, generics, iterators, mocks и архитектура тестируемого кода.

github.com/quii/learn-go-with-tests

3. Practical Go

Свежие материалы Ardan Labs по практическому Go. Хороший переход от «я знаю синтаксис» к пониманию того, как писать нормальный production-код.

github.com/ardanlabs/practical-go

4. Go 101

Огромная и постоянно обновляемая база знаний по Go. Особенно полезна, когда базовый курс уже закончен и хочется глубже понять семантику языка, runtime, типы, memory model и неочевидное поведение Go.

github.com/go101/go101

5. Uber Go Style Guide

Как писать Go-код, который не стыдно отправлять на code review. Ошибки, goroutines, interfaces, naming, performance, functional options, table-driven tests и десятки production-практик. Репозиторий обновлялся и в 2026 году.

github.com/uber-go/guide

6. Go by Example

Go через маленькие работающие программы. Goroutines, channels, interfaces, HTTP, JSON, filesystem, timers, synchronization и другие вещи можно сразу запускать и менять руками. Проект продолжает учитывать новые возможности Go.

github.com/mmcgrana/gobyexample

7. Exercism Go Track

Если теорию уже прочитал - сюда за практикой. Большой набор задач с тестами и постепенно открывающимися концепциями Go. Track поддерживается и обновлялся в августе 2026 года.

github.com/exercism/go

8. LearnGo

Больше тысячи небольших примеров, упражнений и квизов. Хороший вариант для новичка: вместо огромного проекта постоянно исправляешь маленькие программы и сразу видишь результат.

github.com/inancgumus/learngo

9. Wild Workouts

Уже для тех, кто умеет писать Go, но хочет понять архитектуру больших приложений. На реальном проекте разбираются DDD, Clean Architecture, CQRS и рефакторинг.

github.com/ThreeDotsLabs/wild-workouts-go-ddd-example

10. Awesome Go

Не курс, а огромная карта современной Go-экосистемы: web, databases, distributed systems, observability, testing, networking, security, CLI и сотни библиотек. Репозиторий активно обслуживается и в 2026 году.

github.com/avelino/awesome-go

Если начинать с нуля, я бы шёл так:

Golang Roadmap 2026 → Learn Go with Tests → Exercism → Go 101 → Uber Guide → Wild Workouts.
  • ❤ 17
  • 👍 2
  • 🥰 2
  • 😍 2
Post #1561 3.41K
Полный инженерный курс по AI-агентам на русском: от tool calling до production

Курс инженерный, а не обзорный. Здесь почти нет рассуждений о том, «изменит ли ИИ мир», зато есть: минимальные работающие реализации каждого механизма, лабораторные с критериями приёмки, шаблоны для копирования, чек-листы перед релизом, каталог антипаттернов и набор бенчмарков, по которым можно честно сравнить две версии своего агента.

Качество агента почти никогда не упирается в модель. Оно упирается в инженерию вокруг модели: как описаны инструменты, что попадает в контекст, где стоят проверки, что происходит при третьей подряд ошибке и сколько это стоит за тысячу запусков. Модель - двигатель. Курс -про всё остальное в автомобиле.

https://github.com/justxor/Aiagentsfullcourse
  • 👍 7
  • ❤ 2
  • 🥰 1
Post #1559 2.2K

Forwarded from Golang

👣 В Go 1.27 появился почти настоящий LINQ

Автор go-linq показал новую версию библиотеки для Go 1.27, которая позволяет писать типобезопасные цепочки запросов в стиле LINQ:


From(users).
Where(...).
Join(...).
ToSlice()


Главная цель проекта - получить удобство LINQ без привычной цены в виде большого runtime-overhead.

По словам автора, производительность уже близка к вручную написанным циклам, а дальше её планируют ещё улучшать.


GitHub: https://github.com/ahmetb/go-linq

@Golang_google / Папка с полезными Go-ресурсами
  • 🤔 10
  • 👍 8
  • 🔥 5
  • 🥰 2
  • ❤ 1
  • 👏 1
Post #1558 2.91K
Вам доклады по Go или Java? VK приглашает на митап с двойной начинкой
26 августа VK собирает Go- и Java-инженеров, чтобы прокачать знания.

В программе два трека — Go и Java, по три доклада в каждом.

Трек Go:
• «Компиляция Go в динамическую либу, или как мы ускорили выкатку фичи в два раза, но нам не понравилось», Михаил Кичигин, бэкенд-разработчик, Avito Tech
• «Go-платформа VK: как мы построили единую основу для создания Go-сервисов», Александр Апанасенко, руководитель команды SDK Backend, VK
• «Почтальон от Kubernetes до Palo Alto. Как осуществляется доставка информации об адресах», Дарья Кулькина, бэкенд-разработчик, Точка Банк

Трек Java:
• «Перформанс-трюки в поисковой платформе Ozon», Пётр Портнов, ведущий разработчик среднего поиска, Ozon
• «Архитектура современного движка платёжной системы и переход к новой архитектуре», Игорь Крикунов, технический лидер разработки DBC, Альфа-Банк
• «Переход от федерации S3-кластеров в пользу коммунального и мультитенантного кластера», Кирилл Боблак, ведущий разработчик One-cloud, VK

А ещё будет мастер-класс по прокачке навыка, который сделает вас звездой любого вечера, и афтепати, чтобы обсудить доклады в неформальной обстановке.

Встречаемся в 17:00, начало в 18:00. Участие бесплатное, регистрация обязательна.
  • 👍 2
  • 🔥 2
Post #1557 2.73K
Julius от Praetorian - open source-инструмент, который по IP:Port или URL определяет, какой AI-сервис работает на endpoint.

Он умеет распознавать больше 60 платформ:

— Ollama
— vLLM
— SGLang
— LiteLLM
— llama.cpp
— Hugging Face TGI
— NVIDIA NIM
— Open WebUI
— Dify
— AWS Bedrock и другие.

Пример:


julius probe 192.168.1.100:8080


Julius отправляет специальные HTTP-probes, анализирует ответы и пытается определить конкретный сервис, а не просто понять, что endpoint совместим с OpenAI API. Он также может показать доступные модели.

Написан на Go, работает локально и собирается в один бинарник.

https://github.com/praetorian-inc/julius
  • ❤ 4
  • 🔥 3
  • 👍 2
Post #1556 2.77K

Forwarded from Golang

👣 Google выпустила Go 1.27. Обновление затронуло язык, runtime, стандартную библиотеку и инструменты разработки.

В язык наконец добавили generic methods. Теперь метод может работать сразу с разными типами без отдельных реализаций под int, int32, int64 и другие варианты. Ещё упростили инициализацию embedded-структур и расширили type inference для generic-функций.

Runtime тоже ускорили. Для маленьких объектов до 80 байт стоимость аллокаций снизили до 30%, а в allocation-heavy программах это даёт около 1% общей производительности. Появился и новый профиль goroutineleak в pprof, который помогает находить навсегда зависшие goroutine.

В стандартной библиотеке появился encoding/json/v2 с более строгими настройками и новым streaming API. Старый encoding/json теперь использует v2 внутри для более быстрого unmarshaling, сохраняя обратную совместимость.

Также добавили встроенный пакет uuid, поддержку постквантовых подписей ML-DSA и экспериментальный SIMD API.

Из приятного для повседневной работы: go doc теперь понимает package@version, go mod tidy сам приводит несколько require`-блоков в нормальный вид, а `go fix получил новые modernizer'ы.

https://go.dev/blog/go1.27

@Golang_google
  • 🔥 29
  • 🥰 6
  • 👍 2
Post #1555 3.45K
У SQLite один writer. И иногда это не ограничение, а очень удобная архитектура.

Работал с SQLite и увидел необычную схему: база работала сразу на нескольких машинах, но запись всё равно шла только через одну.

За это отвечал LiteFS.

Он не пытается превратить SQLite в полноценную distributed database. Вместо этого одна машина выбирается primary через distributed lease и получает право писать. Остальные работают как реплики.

Если primary пропадает, lease истекает и другой узел может занять его место.

В итоге сложная на первый взгляд задача сводится к довольно простой идее:

«Просто гарантируй, что в каждый момент времени пишет только одна машина».


А на скрине как раз часть Go-кода LiteFS, которая продлевает этот lease и следит, чтобы узел не продолжал считать себя primary после истечения TTL.
  • 👍 2
  • 🤔 2
  • 🔥 1
Post #1554 4.43K
🐹 Go 1.27 ускоряет мелкие аллокации в куче почти в 2 раза — и для этого не нужно менять ни строчки кода.

На тесте с объектом размером 16 байт:

Go 1.26 → ~9,5 нс
Go 1.27 → ~5,5 нс

Причина в самом аллокаторе.

Раньше даже для маленьких объектов компилятор вызывал одну универсальную функцию, а runtime уже определял нужный size class: 8, 16, 24, 32 байта и т.д.

В Go 1.27 для объектов меньше 80 байт появились специализированные пути аллокации под конкретные классы размеров. Лишняя работа в runtime просто исчезает.

Больше всего выиграют программы, которые постоянно создают множество мелких объектов:

• парсеры
• деревья и списки
• очереди событий
• структуры с отдельной heap-аллокацией каждой ноды

А вот сервисы с редкими крупными аллокациями почти ничего не заметят.

Редкий случай, когда достаточно просто пересобрать проект новым Go и получить ускорение бесплатно.

https://vc.ru/dev/3081222-go-1-27-uluchshaet-proizvoditelnost-allokatsiy-pamyati
  • 👍 19
  • 🔥 10
  • ❤ 4
Older posts →

About this channel

How can I read @golang_interview without a Telegram account?
TGViewer shows the public web preview Telegram publishes for Golang вопросы собеседований: recent posts, photos, videos and the subscriber count, with no app, login or account.
How many subscribers does Golang вопросы собеседований have?
Golang вопросы собеседований (@golang_interview) has 15.1K subscribers on Telegram, refreshed roughly every 30 minutes.
Does Golang вопросы собеседований know I viewed it here?
No. Public channel previews carry no viewer identity, and TGViewer has no accounts or tracking of what you look up.
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 →