The Actors Benchmark uses several Akka benchmarks developed by Patrik Nordwall to compare the performance of Scala and Akka actors with ordinary synchronous method invocations. Each workload of the Actors Benchmark exercises all six of Nordwall’s benchmarks:

  1. Java threads
  2. Plain Scala actors
  3. Scala actors with one‐way message passing
  4. Akka actors
  5. Akka actors with one‐way message passing
  6. Akka actors together with the HawtDispatch threading library


Being a wrapper around Nordwall’s benchmarks, the Actors Benchmark is hard to classify with respect to the usual dichotomy of internal and external concurrency. While driven by a single external thread, the number of actors and consequently the number of threads is user‐controllable (by using the DaCapo harness’s --thread-count or --thread-factor command-line options). In fact, each of the wrapped benchmarks exhibits external concurrency but no internal concurrency; all actors are single‐threaded. The Actors Benchmark as a whole is thus externally multi‐threaded and internally single‐threaded.


We are grateful to Patrik Nordwall for his support in integrating his set of benchmarks with our benchmark suite.