Size: a a a

2020 March 09

d

dmitri💡 in Go-go!
а, ну там unsafe еще если че)
источник

d

dmitri💡 in Go-go!
ну вообще слышал, что правила escape анализатора часто меняются, поетому если сможешь как-то обмануть стандартными методами - не факт что будет работать потом
источник
2020 March 10

RS

Roman Sharkov in Go-go!
тут тема такова, что хотелось бы не аллокейтить динамический срез, который не будет выходить за пределы функции
источник

d

dmitri💡 in Go-go!
Roman Sharkov
var gi int

func var1(sz int) {
s := make([]int, sz)
for i := 0; i < len(s); i++ {
 gi += i
 s[i] = gi
}
}

ребят, не подскажете почему s аллокейтится на heap’е и можно ли это предотвратить?

код без смысла, просто для примера
не вижу кстати что б он был динамическим, ты имеешь в виду, что изначальная длина неизвестна?
источник

d

dmitri💡 in Go-go!
Roman Sharkov
тут тема такова, что хотелось бы не аллокейтить динамический срез, который не будет выходить за пределы функции
In cases where the initial size of a slice is known at compile time, it will begin its allocation on the stack. If this slice’s underlying storage must be expanded based on data only known at runtime, it will be allocated on the heap.
источник

d

dmitri💡 in Go-go!
походу в твоем случае приблизительно никак
источник

d

dmitri💡 in Go-go!
а в чем проблема вообще?
источник

d

dmitri💡 in Go-go!
по идее gc даже сканировать твой массив за слайсом не будет, потому что там нет указателей вообще
источник

RS

Roman Sharkov in Go-go!
dmitri💡
не вижу кстати что б он был динамическим, ты имеешь в виду, что изначальная длина неизвестна?
я имею ввиду что может расти)
источник

RS

Roman Sharkov in Go-go!
dmitri💡
а в чем проблема вообще?
пытаюсь выжать из кода максимум

github.com/romshark/jsonvalidate-go

обогнал fastjson на документах больших и средних размеров, а так-же сильно на невалидных документах, но на малых по прежнему отстаю значительно. Думаю теперь ускорить stack и избавиться от sync.Pool и для этого было бы неплохо stack аллокейтить в пределах функции валидации дабы избежать лишнего overhead’а. Тот редкий случай когда приходится бороться с компилятором)))
источник

E

Edgar in Go-go!
Ребят, на сколько целесообразно хранить файлы в БД (От PG до Scylla) ?

Какие плюсы и минусы у такого подхода?
источник

C

Constantine in Go-go!
любопытства ради — а зачем хочешь хранить в БД?
источник

E

Edgar in Go-go!
Не хочу, пытаюсь понять преимущества такого подхода :)
источник

E

Edgar in Go-go!
Помимо удобств в репликации и шардинга хранилища
источник

C

Constantine in Go-go!
я игрушки прятал от лаборантов в техникуме, где учился. в году так 2006. преимущество — долго не могли найти )
источник

E

Edgar in Go-go!
Вариант отличный, но есть ли ещё примеры/варианты?
источник

C

Constantine in Go-go!
раньше gridfs был моден )
источник

C

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

C

Constantine in Go-go!
а так, тут почитай
источник

АП

Александр Попов in Go-go!
Constantine
любопытства ради — а зачем хочешь хранить в БД?
ну там репликация нативная :)
источник