Re: [go-nuts] Help me beat Erlang, SkynetBenchmark challenge

2016-12-01 Thread Roger Alsing
y.golang.org/p/3Mb5pR0V0J > > > > Michael > > > > > > *From: *> on behalf of Roger > Alsing > > *Date: *Thursday, December 1, 2016 at 12:52 AM > *To: *golang-nuts > > *Subject: *[go-nuts] Help me beat Erlang, SkynetBenchmark challenge > &

[go-nuts] Help me beat Erlang, SkynetBenchmark challenge

2016-12-01 Thread Roger Alsing
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/Asynk

[go-nuts] Are Go locks/mutex not the same as ordinary locks/mutexes?

2016-11-29 Thread Roger Alsing
Coming from C++/C# background where locks/mutexes are considered evil due to blocking threads. Due to how the Go goroutine scheduler works, are the Go counterpart of those primitives "different"? Should I see the Go variants of these primitives more like yield points where the execution of a go

Re: [go-nuts] Do Go Routines use continuations to allow yelding?

2016-11-25 Thread Roger Alsing
So it works very similar to normal OS thread context switching, but more explicit? The code will push all local state to the go routine stack, pop the state for the next go routine and change the stack pointer? And this is cheaper than context switching as threads have their own 1 or 4 mb stack