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 3400According to your formula let's sample three points:--2400 goroutines: 2.508s/(50000000*2400) = 2.09 × 10^-11 s3600 goroutines: 12.219s/(50000000*3600) = 6.78833333 × 10-11 seconds4800 goroutines: 16.020s/(50000000*4800) = 6.67500 × 10^-11 sOne can observe that 3600 and 4800 mostly equal to each other, but they both three times slower than 2400.
goos: linuxgoarch: amd64BenchmarkMutexWrite/goroutines-2400-8 50000000 46.5 ns/opPASSok _/home/changkun/dev/tests 2.508s
goos: linuxgoarch: amd64BenchmarkMutexWrite/goroutines-3600-8 50000000 240 ns/opPASSok _/home/changkun/dev/tests 12.219sgoos: linuxgoarch: amd64BenchmarkMutexWrite/goroutines-4800-8 50000000 317 ns/opPASSok _/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 golang-nuts+unsubscr...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/golang-nuts/6dd6ec66-b0cc-4c8e-a341-94bff187214f%40googlegroups.com.
--
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/1259893178.4900.1566842879522%40wamui-albus.atl.sa.earthlink.net.