Parapet v0.0.1-RC2 Release Notes

Release Date: 2019-09-05 // over 4 years ago
  • Performance

    • ๐Ÿ†• New Scheduler is 2 times faster and consumes less memory. Tested within 24h using various scenarios. Total number of tests: 35 000

    ๐Ÿ†• New features:

    • ๐Ÿ†• New blocking operator for blocking calls. Example:

      class Service { def blockingCall: IO[String] =// network callIO.sleep(1.second) >> IO("data") } class Client extends Process[IO] { import dsl._private lazy val service = new Service() override def handle: Receive = { case Start => blocking { suspendWith(service.blockingCall)(data => eval(println(data))) } } }

    • Buffer size limit can be set per process. Example:

      val process: Process[IO] = Process.builder[IO](_ => { case _ => dsl.unit }).bufferSize(1000) // set a process queue size limit .build

    or

    class MyProcess[F[\_]] extends Process[F] { import dsl.\_override val bufferSize: Int = 1000override def handle: Receive = { case \_ =\> unit } }
    

    ๐Ÿ’ฅ Breaking changes:

    • ๐Ÿ‘€ ParConfig has been changed, see Configuration for details.

    ๐Ÿ› Bug fixes:

    • ๐Ÿ›  No bugs were found since 0.0.1-RC1. New bugs introduced in 0.0.1-RC2 were fixed in the same branch.