Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- BenchmarkTemplateParallel 200000000 18.1 ns/op 0 B/op 0 allocs/op
- BenchmarkTemplateParallel-6 100000000 41.0 ns/op 0 B/op 0 allocs/op
- BenchmarkTemplateParallel-12 200000000 25.9 ns/op 0 B/op 0 allocs/op
- BenchmarkTemplateParallel2 200000000 20.7 ns/op 0 B/op 0 allocs/op
- BenchmarkTemplateParallel2-6 100000000 37.3 ns/op 0 B/op 0 allocs/op
- BenchmarkTemplateParallel2-12 100000000 30.1 ns/op 0 B/op 0 allocs/op
- BenchmarkTemplateParallel3 200000000 19.9 ns/op 0 B/op 0 allocs/op
- BenchmarkTemplateParallel3-6 100000000 32.2 ns/op 0 B/op 0 allocs/op
- BenchmarkTemplateParallel3-12 200000000 28.8 ns/op 0 B/op 0 allocs/op
- package main
- import (
- // "flag"
- // "runtime"
- // "fmt"
- "sync/atomic"
- "testing"
- // "time"
- // "github.com/OneOfOne/lfchan/typed/uint64Chan"
- )
- // func TestAr(t *testing.T) {
- // ar := make([]int32, 16)
- // for i := 0; i < 50; i++ {
- // //p := i & ((2 ^ 5) - 1)
- // p := i % 16
- // fmt.Println(i, p)
- // // ar[p] = ar[p] + 1
- // }
- // fmt.Println(ar)
- // // ch := New()
- // // var want, got int
- // // for i := 0; i < 100; i++ {
- // // go ch.Send(i, true)
- // // want += i
- // // }
- // // for i := 0; i < 100; i++ {
- // // v, ok := ch.Recv(true)
- // // if !ok {
- // // t.Fatal("!ok")
- // // }
- // // got += v.(int)
- // // }
- // // if want != got {
- // // t.Fatalf("wanted %v, got %v", want, got)
- // // }
- // }
- type Block struct {
- p int32
- // _padding3 [8]uint64
- }
- func BenchmarkTemplateParallel(b *testing.B) {
- // templ := template.Must(template.New("test").Parse("Hello, {{.}}!"))
- var pos int32 = 0
- ar := make([]Block, 16)
- for i := 0; i < 16; i++ {
- ar[i] = Block{0}
- }
- b.RunParallel(func(pb *testing.PB) {
- // var buf bytes.Buffer
- for pb.Next() {
- p := atomic.AddInt32(&pos, 1)
- p = p % 16
- atomic.AddInt32(&ar[p].p, 1)
- }
- })
- // fmt.Println(ar)
- }
- type Block2 struct {
- p int32
- _padding [8]uint64
- }
- func BenchmarkTemplateParallel2(b *testing.B) {
- // templ := template.Must(template.New("test").Parse("Hello, {{.}}!"))
- var pos int32 = 0
- ar := make([]Block2, 16)
- for i := 0; i < 16; i++ {
- ar[i] = Block2{p: 0}
- }
- b.RunParallel(func(pb *testing.PB) {
- // var buf bytes.Buffer
- for pb.Next() {
- p := atomic.AddInt32(&pos, 1)
- p = p % 16
- atomic.AddInt32(&ar[p].p, 1)
- }
- })
- // fmt.Println(ar)
- }
- type Block3 struct {
- p int64
- _padding [64]uint64
- }
- func BenchmarkTemplateParallel3(b *testing.B) {
- // templ := template.Must(template.New("test").Parse("Hello, {{.}}!"))
- var pos int64 = 0
- ar := make([]Block3, 16)
- for i := 0; i < 16; i++ {
- ar[i] = Block3{p: 0}
- }
- b.RunParallel(func(pb *testing.PB) {
- // var buf bytes.Buffer
- for pb.Next() {
- p := atomic.AddInt64(&pos, 1)
- p = p % 16
- atomic.AddInt64(&ar[p].p, 1)
- }
- })
- // fmt.Println(ar)
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement