Size: a a a

Scala User Group

2021 July 13

NR

Nikita Ryanov in Scala User Group
Железо да, понимаю, что разное (btw, сам тестирую на mac air 2017). Просто интересно, есть ли существенные различия между реализациями
источник

λ

λoλdog in Scala User Group
какие у тебя данные получаются?
источник

EK

Evgenii Kuznetcov in Scala User Group
Я не вижу в коде, чтобы блэкхол что-то коньюмил. Но у меня в этом тесте он не влияет все равно. У меня i7 ноут, если что. Не думаю, что он дает 10х разницу.
Но честный бенч сейчас лень писать)
Может проблема в самописном кодеке?
источник

EK

Evgenii Kuznetcov in Scala User Group
Я не сравнивал с мсгпаком. Если вопрос останется актуальным, могу завтра попробовать
источник

λ

λoλdog in Scala User Group
он по дефолту консьюмит то что возвращается
источник

EK

Evgenii Kuznetcov in Scala User Group
А, не знал
источник
2021 July 14

AS

Aλexander Semenov in Scala User Group
Помогите Предславе определиться :)
источник

AT

Aleksei Teryokhin in Scala User Group
Бот в помощь
источник

Oℕ

Oleg ℕizhnik in Scala User Group
она прост на кнопку нажать не успела
источник

MT

Mikhail Tsion in Scala User Group
Друзья, посоветуйте, пожалуйста, тулы для поиска ненужных зависимостей в sbt-проекте?
источник

d

den_po in Scala User Group
Sbt-explicit-dependencies вроде
источник
2021 July 15

CD

Cap Dev in Scala User Group
Как заставить структуру вычислиться при запуске один раз и запомниться, что бы не происходил вызов loadServices каждый раз когда используется serviceMap ?
cats 2.5.1

val serviceMap: IO[Map[String, String]] =
   Eval.now(loadServices).memoize.value
 
def loadServices: IO[Map[String, String]]

всё равно вызывается
источник

VS

Vladimir Sam in Scala User Group
Кмк, memoize в целом не очень хороший метод, т.к. ломает ссылочную прозрачность.

т.ч. переписать вызывать loadServices уровнем выше и передавать ниже Мапу как аргумент без IO
источник

CD

Cap Dev in Scala User Group
Хм тогда же прийдётся
val serviceMap: Map[String, String] = loadServices.unsafeRunSync()
источник

D

Daniel in Scala User Group
cats.effect.Concurrent#memoize
источник

VS

Vladimir Sam in Scala User Group
это уже вопрос как код приложения организован, в Main несколько флатмапов норма, т.к. масса инфраструктурных историй типа клиентов баз данных возвращают F[DbClient] и их нужно развернуть прежде чем прокинуть в сервис
источник

ΛВ

Λнтон Войцишевский... in Scala User Group
val program = for {
  serviceMap <- loadServices
  _ <- myApp.run(serviceMap)
} yield ()

object EntryPoint extends IOApp {
 def main(args: String*): IO[ExitCode] = program.as(ExitCode.Success)
}
источник

ΛВ

Λнтон Войцишевский... in Scala User Group
в myApp.run вся собственно логика приложения, запуски серверов, шиночиталок и прочего
источник

CD

Cap Dev in Scala User Group
Слишком глубоко пробразывать, думаю лучше мемоизировать на месте
источник

ΛВ

Λнтон Войцишевский... in Scala User Group
scalacache можно посмотреть, или кетс еффект 3, там Даниель выше писал
источник