A variation, slightly faster: https://play.golang.org/p/OzzJWRu6KL
One problem with “do nothing” benchmarks is that they test limits that are not real-life limits. I get about 3 million channel sends per second on my laptop and your benchmark is hitting that or else close to it. If you were doing something in the leaf…animating a character, simulating a missile, etc., then you would not measure the subtle differences in the implementations. As it is, the differences in program load time and other run-to-run variations are also statistically big here. The Go test framework is helpful in this regard, but what is really helpful is if the “model” of the test is legitimate. In this case, have your actors do whatever the real actors would do so that you are measuring “parallel actors doing.” From: Michael Jones <michael.jo...@gmail.com> Date: Thursday, December 1, 2016 at 3:24 AM To: Roger Alsing <rogerals...@gmail.com>, golang-nuts <golang-nuts@googlegroups.com> Subject: Re: [go-nuts] Help me beat Erlang, SkynetBenchmark challenge Here is an idea for you. 35% faster on my macbook pro: https://play.golang.org/p/3Mb5pR0V0J Michael From: <golang-nuts@googlegroups.com> on behalf of Roger Alsing <rogerals...@gmail.com> Date: Thursday, December 1, 2016 at 12:52 AM To: golang-nuts <golang-nuts@googlegroups.com> Subject: [go-nuts] Help me beat Erlang, SkynetBenchmark challenge I am currently trying to optimize the in process part of my Actor Model framework for Go - GAM. In order to compare it to Erlang and Akka, I am using the "Skynet Benchmark" https://github.com/atemerev/skynet#results-i7-4771-ubuntu-1510 I have ported this test to my lib: https://github.com/AsynkronIT/gam/blob/dev/examples/spawnbenchmark/main.go It works and the performance is roughly the same as the Scala Akka performace. I have noticed that if I turn of GOGC, it runs extremely fast. about 3 times faster. Is this because my test is generating a lot of garbage or more due to the GC process of GO having a big overhead by just running? That is, would I still see a pef difference even in a system that does not allocate anything? This test is ofcourse completely nonsense from a real world scenario, but still, it's an interesting challange trying to push the numbers down. When profiling, I am not seeing anything specific that pops out at me. Anyone here up for giving a helping hand? -- You received this message because you are subscribed to the Google Groups "golang-nuts" group. To unsubscribe from this group and stop receiving emails from it, send an email to golang-nuts+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout. -- You received this message because you are subscribed to the Google Groups "golang-nuts" group. To unsubscribe from this group and stop receiving emails from it, send an email to golang-nuts+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.