Size: a a a

Scala User Group

2020 September 29

AF

Anton Feoktistov in Scala User Group
Eugene Bosiakov
Столько проблем, а все вместо того чтобы raw sql написать
Raw sql сразу подразумевает под собой написать интеграционный тест на запрос. Иначе нет уверенности, что не произойдет регрессия
источник

EB

Eugene Bosiakov in Scala User Group
Anton Feoktistov
Raw sql сразу подразумевает под собой написать интеграционный тест на запрос. Иначе нет уверенности, что не произойдет регрессия
а если не raw sql, то не надо тестировать?
источник

λ

λoλdog in Scala User Group
Sergey Alaev
> It does not replace a heap allocation with a stack allocation for objects that do not globally escape.
Хорошо, но мало
Что мало?
источник

λ

λoλdog in Scala User Group
Ну если у тебя объект утек из метода, то извините
источник

λ

λoλdog in Scala User Group
С ним уже точно не сделаешь ничего. По крайней мере до того, пока твой метод не будет заинлаинен и потом может быть в другом методе этот анализ сработает
источник

AF

Anton Feoktistov in Scala User Group
Eugene Bosiakov
а если не raw sql, то не надо тестировать?
Я бы хотел избавиться от таких тестов. Но пока не получается
источник

SA

Sergey Alaev in Scala User Group
λoλdog
Ну если у тебя объект утек из метода, то извините
Вот пример, этот код работает существенно быстрее, если вынести аллокацию за цикл. Вывод - jvm не перенесла эту аллокацию на стек
var l: Long = 0
   while (l != 1) {
     val arr = new Array[Byte](128)
     l += arr.size
     c += 1
   }
источник

λ

λoλdog in Scala User Group
Чувак
источник

AF

Anton Feoktistov in Scala User Group
Встречный вопрос - а оборачиваете код на Doobie\Slick\JOOQ в условный Repository?
источник

λ

λoλdog in Scala User Group
И какой ты тут эскеип анализ хочешь)
источник

λ

λoλdog in Scala User Group
Ты тут явно аллоцируешь кусок памяти
источник

SA

Sergey Alaev in Scala User Group
λoλdog
И какой ты тут эскеип анализ хочешь)
Аллокацию NoEscape объекта на стеке?
источник

λ

λoλdog in Scala User Group
Ты б хоть почитал, что оптимизация делает
источник

λ

λoλdog in Scala User Group
EliminateAllocationArraySizeLimit
источник

λ

λoλdog in Scala User Group
Посмотри что за флаг
источник

λ

λoλdog in Scala User Group
Хотя б
источник

λ

λoλdog in Scala User Group
Сделай свои массив размером в 64 и наслаждайся
источник

SA

Sergey Alaev in Scala User Group
λoλdog
Сделай свои массив размером в 64 и наслаждайся
Так работает, спасибо.
источник

SA

Sergey Alaev in Scala User Group
Anton Feoktistov
Встречный вопрос - а оборачиваете код на Doobie\Slick\JOOQ в условный Repository?
Т.е.? Я чуть выше привел метод репозитория, который оборачивает код и лифтит его в эффект
источник

λ

λoλegΥch in Scala User Group
мыши-кактус.жпг
источник