|>>> sum // Blocking the thread to wait for the result val totalPaid = Await.result( totalPaidComputation, atMost = defaultTimeout) totalPaid should equal(3480 EUR)
39042 ms Stream API Step 1 5000 loans 50 rows ~ 560 ms with pause ~ 144900 ms Iteratees Step 2 Akka actor Step 3 5000 loans 50 rows ~ 4271 ms with pause ~ 40882 ms
ms with pause ~ 144900 ms Iteratees Step 2 5000 loans 50 rows ~ 4571 ms with pause ~ 39042 ms Akka actor Step 3 5000 loans 50 rows ~ 4271 ms with pause ~ 40882 ms Akka cluster Step 4 5000 loans 50 rows ~ 6213 ms with pause ~ 77957 ms 1 node / 2 actors
ms with pause ~ 144900 ms Iteratees Step 2 5000 loans 50 rows ~ 4571 ms with pause ~ 39042 ms Akka actor Step 3 5000 loans 50 rows ~ 4271 ms with pause ~ 40882 ms Akka cluster Step 4 5000 loans 50 rows ~ 5547 ms with pause ~ 39695 ms 2 nodes / 4 actors
single threaded Iteratees Step 2 Akka actor Step 3 error management control on parallel execution via configuration Akka cluster Step 4 elasticity resilience monitoring elegant API enable asynchronism and parallelism
machines and iteratees [1] Recent presentation from «Heather Miller» for spores (distribuables closures) [2] Recent release of Scala 2.10.3 and performance optimization of Promise Release candidate of play-iteratee module with performance optimization Lots of stuff in the roadmap of Akka cluster 2.3.0