Как стать автором
Поиск
Написать публикацию
Обновить
4
0

Пользователь

Отправить сообщение
Вроде есть sync.Pool для этого. Правда не так автоматически красиво.

Вот статься еще от твича blog.twitch.tv/en/2019/04/10/go-memory-ballast-how-i-learnt-to-stop-worrying-and-love-the-heap-26c2462549a2 не совсем про тоже — но суть в том, что GC latency spike можно серьезно убавить используюя sync.Pool, но есть риск что GC будет слишком часто вызываться — тогда та самая статья и кейс github.com/open-telemetry/opentelemetry-collector/pull/45
выше ответил
авторы не говорят о размерах объектов (или даже точнее обходят), но то что они хранили пойнтеры в lru говорит, что данные не гомогенные (наверняка еще и строки).
jemalloc конечно спасает, посравнение с glibc, но и его можно загадить (особенно с lru на миллионы объектов) на активном долго живущем сервисе.

я видел телеком экип который по glibc не жил нормально, под jemalloc жил, но иногда становилось плохо. как только с хипа ушли — сразу все зажило как надо.
Авторы статьи именно на это и жаловались — типа не могли GC отключить и она всеравно вызывалась просто с максимально длинным интервалом.
Ну тоесть какбы причина озвучена — но решение для нее не особо искали.

Каменты к оригинальной статье правильные.
Пойнтеры в lru — оно конечно раст поможет, но memory fragmentation никуда не уйдёт; конкретно такое использование было пофикшено в го, но похоже очень хотелось раст.

Переводчику — спасибо!


Но блин раст ночной а го трёхлетний....

Мои с 4х в уно играть умеют. В 5ть начали нормально карты держать )))
Проще традиционных карт

Точно же, забыл совсем, хотя используем но не с го.

байтслайсы в редис кладутся спокойно — маршалиш структуру в []byte{} и go-redis.Set(«key», value)

```redis strings are binary-safe``` :)
есть кэш ristretto — там вроде без мапов
чтото не понял — как это json может быть быстрее protobuf3 если же вот medium.com/@akresling/go-benchmark-json-v-protobuf-4ec3c62ec8d4

Уже ж закопали. Или премодерация заняла три месяца?

Переводчику спасибо, но — src/, main.go без cmd/

Они check/handle запарятся пропихивать.
В ближайший релиз оборачиваение ошибок то не смогли пропихнуть, и много кто по существу за Is/As попинывает.
В фидбэках для try/catch даже отдельную категорию сделали.
За dep vs mod наверняка многие в недоумение. Стопудово "кость кинули", чтобы более-менее без конфликтов "остался только правильный вариант"

Ну то есть вместо 'а давайте CI и CD отдекаплим через артифактори' у вас вышло 'давайте избавимся от докера' :))))

У нас случилась четырехдневка с января до мая. Это было офигенно. Даже весенний перевод времени легче прошел. И не было сезонного. Понедельник и были не "опять" а "наконецто". А скрам адаптировать месяца два.

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность