← назад

mitchellh — 23-04-2026

2 твитов за сутки. Mitchell Hashing делится наблюдениями по оптимизации Go-кода, где успех важнее ошибок, и анонсирует улучшение для библиотеки simdutf.

Оптимизация обработки ошибок в Go — при написании Go-кода, особенно с использованием агентов, часто возникает соблазн заранее выделять ресурсы для отката изменений в случае ошибки, но это замедляет успешный путь выполнения. Поскольку ошибки случаются редко, следует оптимизировать счастливый путь, а в случае сброса просто пересчитать результат с выполнением шага отмены вместо применения, что эффективнее из-за локальности данных в кэше CPU. Этот паттерн успешно применяется в Zig-компиляторе, который не хранит информацию о позициях строк/строк во время парсинга, а при ошибке медленно перепарсивает файл, чтобы собрать детали об ошибке [1].

simdutf v9 без зависимости от libc++ — вышла версия 9 библиотеки simdutf, которая теперь может работать без libc++ во время выполнения благодаря интеграции изменений, сделанных автором. Это значительное улучшение для пользователей [libghostty-vt], так как устраняет одну из важных зависимостей [2].

Источники