Your cache theory is very reasonable, but this was clear in the beginning post: "before or after the massive increase, performance drops linearly". Your hypothesis is reasonable, but how can you prove your hypothesis? By host machine cache usage monitoring? Matching of a concept is still not persuasive.
On Monday, August 26, 2019 at 8:08:27 PM UTC+2, Robert Engels wrote: > > Which is what I would expect - once the number of routines exhaust the > cache, it will take the next level (or never since its main memory) to see > an massive increase in time. 4800 is 30% slower than 3600 - so it is > increasing linearly with the number of Go routines. > > > -----Original Message----- > From: changkun > Sent: Aug 26, 2019 11:49 AM > To: golang-nuts > Subject: Re: [go-nuts] sync.Mutex encounter large performance drop when > goroutine contention more than 3400 > > According to your formula let's sample three points: > > 2400 goroutines: 2.508s/(50000000*2400) = 2.09 × 10^-11 s > 3600 goroutines: 12.219s/(50000000*3600) = 6.78833333 × 10-11 seconds > 4800 goroutines: 16.020s/(50000000*4800) = 6.67500 × 10^-11 s > > One can observe that 3600 and 4800 mostly equal to each other, but they > both three times slower than 2400. > > goos: linux > goarch: amd64 > BenchmarkMutexWrite/goroutines-2400-8 50000000 > 46.5 ns/op > PASS > ok _/home/changkun/dev/tests 2.508s > > goos: linux > goarch: amd64 > BenchmarkMutexWrite/goroutines-3600-8 50000000 240 > ns/op > PASS > ok _/home/changkun/dev/tests 12.219s > > goos: linux > goarch: amd64 > BenchmarkMutexWrite/goroutines-4800-8 50000000 317 > ns/op > PASS > ok _/home/changkun/dev/tests 16.020s > > > -- > 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 golan...@googlegroups.com <javascript:>. > To view this discussion on the web visit > https://groups.google.com/d/msgid/golang-nuts/6dd6ec66-b0cc-4c8e-a341-94bff187214f%40googlegroups.com > > <https://groups.google.com/d/msgid/golang-nuts/6dd6ec66-b0cc-4c8e-a341-94bff187214f%40googlegroups.com?utm_medium=email&utm_source=footer> > . > > > > > -- 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. To view this discussion on the web visit https://groups.google.com/d/msgid/golang-nuts/495e22e8-4a5f-4a1d-88f8-59ff2b0a4006%40googlegroups.com.