Why does Akka version take more time than the multithreaded Java application

I am interested to know how Akka compares with Multithreaded Java applications performance-wise.

So, I have developed a simple event processing application using both the approaches, Akka and Multithreaded Java application. Presently, it just prints the events. It would be enhanced later to write events into a database, suppress events, filter events, throttle events, etc.

I found that the Akka version consumes more time than the multithreaded Java application.

Please clarify why Akka version takes more time than the multithreaded Java application.

Is it anything to do with whether the application is CPU intensive or IO intensive?

Akka multiprocessing is based by default on the number of processing cores that Akka detects in the system. This works well for cpu-bound tasks primarily, but less well for IO bound tasks. Additionally there is message passing overhead that can become significant.

Are you able to share your test application?

Thank you Stephen. The test code is available at GitHub - murthy-nn/EventProcessing: Event Processing using two approaches, Akka and Java Multithreading