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 in0.0.1-RC2
were fixed in the same branch.