You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I don't know if I'm doing something wrong but the version using channels is consistently faster than the version using hollywood except if I introduce a small delay in the actor function processing, in which case, the hollywood version is slightly faster.
When the number of items is significant larger, the memory utilization of both hollywood and mpsc reach 2GB, whereas channels never go beyond 100MB. MPSC doesn't have a queue limit so I'm not surprised to see memory growing up significantly.
Hollywood though does have a setting, but it seems it's not being applied given what I'm observing.
The text was updated successfully, but these errors were encountered:
Maybe I'm missing something here, but isn't it obvious that channels would be faster than Hollywood? Channels are native to the language, whereas Hollywood will have to marshall/unmarshall the payload and go through the network.
Channels don't have the ability to cross the wire. If one wants actor semantics but doesn't need network transparency there is always github.com/perbu/Bolllywood, which is a toy Actor implementation on top of channels.
I have written a benchmark to compare using hollywood to using go channels.
The benchmark can be found here: https://github.com/andreaugustoaragao/bench_actors/blob/main/actors_test.go
I don't know if I'm doing something wrong but the version using channels is consistently faster than the version using hollywood except if I introduce a small delay in the actor function processing, in which case, the hollywood version is slightly faster.
I have also added mpsc (https://pkg.go.dev/github.com/AsynkronIT/protoactor-go/internal/queue/mpsc#Queue) as someone mentioned in one of @anthdm videos it was 20x faster than using channels.
Results with configuration:
NUMBER_OF_ITEMS = 16384
NUMBER_OF_ACTORS = 8
QUEUE_SIZE = 128
Results with configuration:
NUMBER_OF_ITEMS = 16384000
NUMBER_OF_ACTORS = 8
QUEUE_SIZE = 128
When the number of items is significant larger, the memory utilization of both hollywood and mpsc reach 2GB, whereas channels never go beyond 100MB. MPSC doesn't have a queue limit so I'm not surprised to see memory growing up significantly.
Hollywood though does have a setting, but it seems it's not being applied given what I'm observing.
The text was updated successfully, but these errors were encountered: