We see Akka.net actors at about 2,900 bytes each. (Akka.net v0.6.1.0)
Is this an approximate size for each actor at Akka.net?
Program snippet
ActorSystem actor_system = ActorSystem.Create("myActor");
var greeter = actor_system.ActorOf<GreetingActor>("greeter");
InternalActorRef[] greeterArray = new InternalActorRef[100000];
for (int i = 0; i < greeterArray.Length; i++)
{
greeterArray[i] = actor_system.ActorOf<GreetingActor>("greeter" + i);
Console.WriteLine("Creating Actor number " + i);
}
Greeter
using Akka;
using Akka.Remote;
using Akka.slf4net;
using Akka.Actor;
namespace Akka_NET_test
{
public class GreetingActor : UntypedActor
{
protected override void OnReceive(object message)
{
message
.Match()
.With<Greet>(m => Console.WriteLine("Hello {0} from GreetingActor " + this.Self.ToString(), m.myMsg));
}
}
}
Greet
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Akka;
using Akka.Remote;
using Akka.slf4net;
namespace Akka_NET_test
{
public class Greet
{
public string myMsg { get; set; }
}
}
Sizes are reported as about 400 bytes / actor for Akka jvm and about 300 bytes / process for Erlang.
Twisting 100,000 CLR members at Akka.net seems to be around 2,900 bytes.
Is this roughly true?
Thanks in advance!
user2350942
source
share