Size: a a a

2021 May 04

NL

Nikita L in Go-go!
Не, просто тупая kv хранилка
источник

RC

R C in Go-go!
Уважаемые коллеги. Пишу по поводу вакансии, которую мне предложили но я сейчас работаю в другом проекте и загружен. У них логистическая компания. Нужный стэк:  GO, PostgreSQL, VUE. Я так понял им создали а поддержку не сделали и теперь нужен человек который возьмётся это все развивать дальше и поддерживать.
Если кого то заинтересовало, напишите пм я дам контакты.
Всех благ.
источник

OJ

O . J in Go-go!
для мапы с типом хранимого значения который всегда имеет фиксированный размер или структуры с набором полей таких типов - ты можешь просчитать максимальную длину карты заранее, далее все проверки сведутся к одному условию сравнения.
Для строк или чего-то сложнее придется счить на лету - len(str) + unsafe.SizeOf(str).
источник

NL

Nikita L in Go-go!
А почему добавляется len(str)?
источник

с

сонная википедия... in Go-go!
чтоб считать память, которую занимает строка
источник

с

сонная википедия... in Go-go!
правда тут надо помнить что len(str) != объем всей занимаемой памяти
источник

Z

Zver in Go-go!
источник

OJ

O . J in Go-go!
SizeOf вернет только размер дескриптора, но не памяти на которую он ссылается.
источник

OJ

O . J in Go-go!
Все так
источник

Z

Zver in Go-go!
А если там иерархический тип, то ещё веселей выходит.
источник

NL

Nikita L in Go-go!
Понял, спасибо
источник

Z

Zver in Go-go!
Можно выбрать скоростной с генерацией маршалер/анмаршалер и сохранять в кешхранилище с лимитом, как выше скидывал.
источник

Z

Zver in Go-go!
Если зоопарк типов.
источник

с

сонная википедия... in Go-go!
с кастомным аллокатором
источник

NL

Nikita L in Go-go!
У меня проблема в том, что я хочу в кэше хранить свои типы (кастомные структуры) и получать из кэша сразу этот тип, а не interface{}

В кэше лежит порядка 20Гб данных, и есть их вытаскитьва и потом кастить в отдельную переменную, то это х2 аллокаций, что на таком объеме критично
источник

NL

Nikita L in Go-go!
Т.е. на пике расход озу будет 40 гб, когда кэш выгребается
источник

с

сонная википедия... in Go-go!
> то это х2 аллокаций
откуда?
источник

NL

Nikita L in Go-go!
Я из кэша ведь не указатель получаю, а слайс байт, который надо заанмаршалить в отдельную переменную
источник

NL

Nikita L in Go-go!
Ну или вариант получить interface{} из кэша и делать тайп ассерт
источник

с

сонная википедия... in Go-go!
а нафига хранить слайс байт и потом его анмаршалить
источник