Live data from Hacker News

Proto Actor – Fast distributed actors for Golang and C#

proto.actor

1–10 of 47 posts

Re: Proto Actor – Fast distributed actors for Golang and C#

#5
.NET and Go are a weird pairing, especially since the library isn't actually "cross-platform." It's two separate implementations. I wonder what the impetus was to develop this library on those two particular platforms, especially since there's already Akka.NET and most people can't shut up about how much they love Goroutines as a concurrency primitive.

Re: Proto Actor – Fast distributed actors for Golang and C#

#6
post #3

Not sure why it should be trusted more than Akka or Akka.Net. Akka is much much more than just "actors".

I think part of the appeal is that it's built on gRPC, so this could probably be expanded to any of the supported languages on that platform.

Re: Proto Actor – Fast distributed actors for Golang and C#

#7

.NET and Go are a weird pairing, especially since the library isn't actually "cross-platform." It's two separate implementations. I wonder what the impetus was to develop this library on those two particular platforms, especially since there's already Akka.NET and most people can't shut up about how much they love Goroutines as a concurrency primitive.

I have to imagine that the .NET application is client side and GO is used server side. .NET has released some distros that will release to Linux systems (though, to be honest, I have never actually tried implementation, so this is all conjecture =/ . Have they gone to Mac, at all? I really don't know. Java would seem a better choice, depending on what they are doing with it, but with Azure, maybe some back end systems run better using Azure and GO...... as you have surely noticed, by this point, I'm spitballing out of my realm, but it is a curious pairing, as you say.

Re: Proto Actor – Fast distributed actors for Golang and C#

#8
We should be really skeptical of (or perhaps we could charitably say, "We should contextualize these,") speed claims. Akka does well in benchmarks too, until you put significant memory pressure on the VM and find it handles less gracefully under load than a more JVM-natural approach using approaches in java.util.concurrent.

Actor-based approaches with hundreds of thousands of actors are really amazing, powerful and often simpler than equivalent channel based systems, conceptually. But they require special GC considerations to be made "efficient" of a really high level of mechanical sympathy to make sure you aren't creating pathologically bad situations for the garbage collector.

Re: Proto Actor – Fast distributed actors for Golang and C#

#9
Most of my non trivial goroutines are organized like this:

  func actor_foo(things) error {

    set_up_stuff()
    defer clean_up_stuff()

    for {
      select {
      case msg := 
I recognize there is more to the actor model than just message loops, but I found that an explicit for-select-switch results in better overall readability.

Re: Proto Actor – Fast distributed actors for Golang and C#

#10
post #3

Not sure why it should be trusted more than Akka or Akka.Net. Akka is much much more than just "actors".

It's from one of the main authors of Akka.Net, so it should deserve a good amount of trust. Although Akka.Net was of course in main ways a quite straightforward port of the Java code, which means the design credit there goes to the original Akka developers.
Post reply on HN