Did I do anything wrong, the cache hint ratio decrease linearly, is it an 
expected result? I thought the cache hint ratio would have a significant 
drop:

[image: chart.png]
Raw data:

#goroutines cache-references cache-misses hint/(hint+miss)
2400 697103572 17641686 0.9753175194
3200 798160789 54169784 0.9364451004
3360 1387972473 148415678 0.9033996208
3600 1824541062 272166355 0.8701934506
4000 2053779401 393586501 0.8391795437
4800 1885622275 461872899 0.8032486268
On Monday, August 26, 2019 at 9:26:05 PM UTC+2, Robert Engels wrote:
>
> You can run the process under 'perf' and monitor the cpu cache hit/miss 
> ratio.
>
> -----Original Message----- 
> From: changkun 
> Sent: Aug 26, 2019 2:23 PM 
> To: golang-nuts 
> Subject: Re: [go-nuts] sync.Mutex encounter large performance drop when 
> goroutine contention more than 3400 
>
> 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.
>> 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 golan...@googlegroups.com <javascript:>.
> To view this discussion on the web visit 
> https://groups.google.com/d/msgid/golang-nuts/495e22e8-4a5f-4a1d-88f8-59ff2b0a4006%40googlegroups.com
>  
> <https://groups.google.com/d/msgid/golang-nuts/495e22e8-4a5f-4a1d-88f8-59ff2b0a4006%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/0c2b4dc1-3774-4fe6-9cd6-a841dd7265c4%40googlegroups.com.

Reply via email to