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

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,40 @@
package main
import (
"testing"
)
// go test -bench=. comparison_test.go
const size = 1 << 10
func BenchmarkWithoutOptimizations(b *testing.B) {
data := make([]int, size)
for i := 0; i < b.N; i++ {
for j := 0; j < len(data); j++ {
data[j] = i
}
}
}
func BenchmarkWithCalculatedLength(b *testing.B) {
data := make([]int, size)
for i := 0; i < b.N; i++ {
length := len(data)
for j := 0; j < length; j++ {
data[j] = i
}
}
}
func BenchmarkWithLoopUnwinding(b *testing.B) {
data := make([]int, size)
for i := 0; i < b.N; i++ {
for j := 0; j < len(data)/4; j += 4 {
data[j] = i
data[j+1] = i
data[j+2] = i
data[j+3] = i
}
}
}