Disclaimer: I am the PO for Akka
- Erlang does copy-on-send - Akka uses
shared memory (immutable objects) for
in-VM sends
- Erlang does per-process GC - Akka uses JVM GCs
- Erlang has OTP - Akka integrates with the entire Java ecosystem (Apache Camel, JAX-RS,
etc etc)
- Erlang does the process
scheduling for you - Akka allows you
to use many different Dispatchers
with endless configuration
opportunities
- Erlang does hot code
reload - Akka can support it, but
it's less flexible because of JVM
classloading
Those are the ones from the top of my head.
On the other hand, using Akka means that you can use Scala, Java, Groovy or JRuby to write your applications.