Исходники и презентации

This commit is contained in:
2025-05-23 07:26:39 +03:00
parent aa948179d5
commit 02d8430a3a
514 changed files with 13773 additions and 0 deletions

View File

@ -0,0 +1,33 @@
package main
import (
"sync"
"sync/atomic"
"testing"
)
// go test -bench=. perf_test.go
func BenchmarkMutexAdd(b *testing.B) {
var number int32
var mutex sync.Mutex
for i := 0; i < b.N; i++ {
mutex.Lock()
number++
mutex.Unlock()
}
}
func BenchmarkAtomicAdd(b *testing.B) {
var number atomic.Int32
for i := 0; i < b.N; i++ {
number.Add(1)
}
}
func BenchmarkAdd(b *testing.B) {
var number int32
for i := 0; i < b.N; i++ {
number++
}
}