в разных диапазонах - по разному а вам зачем?
а в диапазоне до 50 элементов?
https://github.com/golang/go/blob/go1.19/src/runtime/slice.go#L178
пытаюсь предугадать размер слайса, прежде чем ходить за ним в БД
например: сделай out переменную в которую сунешь count() на базе в рамках функции - получателе данных. Ну или если база умеет много результатов выдавать отдельным отдай да начнётся срач: "я люблю orm, подход с функциями говно"
Стоит сделать бенч до-после😉 Скорее всего отобьёт желание так делать в будущем 😁
как сделать лучше?
то есть прежде чем ходить за данными, узнать их количество?
в одной прям транзакции - например так можно сделать функией получения с out параметром
насколько я помню, удваивается до 1024 и дальше по 1024 прибавляет
Сначала придётся разбираться с тем что такое "лучше"🤷♂ Я выделяю нужный размер только если он заранее известен, угадывать больше не пытаюсь.
Некоторое время назад тут было обсуждение этого. Удивительно, но практика разошлась с исходниками. Я тестировал: до 48 элементов включительно - капасити удваивается, а с 49 - увеличивается на 125%
Что значит «практика разошлась с исходниками»?
Ну написали разрабы одно, а работает иначе, что непонятного?
Отличный подход, я Щитаю. Вместо одного запроса делать два - пусть база торомзит, зато код на Go не будет перевыделять память. Сарказм, если чё.
Обсуждают сегодня