Показаны сообщения с ярлыком scala. Показать все сообщения
Показаны сообщения с ярлыком scala. Показать все сообщения

Ускоряем реализацию fs2 стримов для reactive-streams

Если вы, как и я, не в восторге от текущих инструментов для коммуникации с MongoDB, и меньшим злом выбрали для себя выбрали MongoDB Reactive Streams Java Driver, в надежде на существующую интеграцию reactive-streams с fs2, то вероятно, вас ждет разочарование. Официальная интеграция оооооооооооооооооооооооочень медленная. Если вы не собираетесь запускать ваше добро на JS, то возможно вам пригодится мое решение: https://github.com/dokwork/fast-reactive-fs2.
Просто оставлю результат замеров здесь:

Benchmark                                      Mode  Cnt      Score      Error  Units
ReadOneMillionNumbers.dokworkStreamSubscriber  avgt   25     39.377 ±    2.749  ms/op
ReadOneMillionNumbers.fs2StreamSubscriber      avgt   25  11189.737 ± 2213.225  ms/op

Разбор реализации актора из книги FP in Scala

cover of the book В книге Functional Programming in Scala, в главе Purely functional parallelism, в конечной реализации Par[a], авторы ссылаются на акторную модель вычислений и приводят в пример ее реализацию: Actor.scala. В основе реализации приводимого актора лежат идеи Non-intrusive MPSC node-based queue, которые не могут не вызывать восторга! В своей статье хочу попытаться разъяснить для себя и всех, кому это будет интересно, эти идеи.

Шаблонные проекты с Giter8

Надоело копировать build.sbt, plugins.sbt, .travis.yml и прочие шаблонные файлы каждый раз, когда садитесь за новый проект? Тогда у меня для вас есть хорошая новость: забудьте об этом и встречайте giter8!

Что надо знать про коллекции в Scala

Библиотека коллекции в scala - одна из самых сильных особенностей языка, но в то же время и одна самых трудных его частей. Данная статья представляет собой конспект особенностей и нюансов коллекций в scala.

Содержание: