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.

Reply via email to