Thanks Ian. On Wed, 23 Nov 2016, 07:47 Ian Lance Taylor <i...@golang.org> wrote:
> On Tue, Nov 22, 2016 at 12:37 PM, Dave Cheney <d...@cheney.net> wrote: > > Thinking about this overnight I think this benchmark > > > > https://play.golang.org/p/5d4MUKqPYd > > > > Shows the issue you are having. On my machine > > > > % go test -bench=. -benchtime=5s > > BenchmarkWithoutLockOSThread-4 5000 1827196 ns/op > > BenchmarkWithLockOSThread-4 200 31506649 ns/op > > > > My guess is the LockOSThread version causes a context switch because the > > thread the sending goroutine runs on must be parked, and the receiving > > thread locked to the receiving goroutine must be woken to drain the > value. > > > > I don't see an easy workaround for this slowdown. > > I also have come to think it may be due to thread context switching. > > Still, I also wrote up a benchmark, and I filed > https://golang.org/issue/18023. > > Ian > -- 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.