| // Code generated by mkmalloc.go; DO NOT EDIT. | |
| // See overview in malloc_stubs.go. | |
| package runtime_test | |
| import ( | |
| "internal/abi" | |
| "runtime" | |
| "testing" | |
| ) | |
| func benchmarkMallocgcNoscan8(b *testing.B) { | |
| const size = 8 | |
| b.Run("kind=new", func(b *testing.B) { | |
| for b.Loop() { | |
| runtime.Escape(new(struct{ v [size / 8]uint64 })) | |
| } | |
| }) | |
| var typ *abi.Type | |
| typ = abi.TypeOf(struct{ v [size / 8]uint64 }{}) | |
| b.Run("kind=mallocgc", func(b *testing.B) { | |
| for b.Loop() { | |
| runtime.Escape(runtime.MallocGC(size, typ, true)) | |
| } | |
| }) | |
| } | |
| func benchmarkMallocgcScan8(b *testing.B) { | |
| const size = 8 | |
| b.Run("kind=new", func(b *testing.B) { | |
| for b.Loop() { | |
| runtime.Escape(new(struct{ v [size / 8]*uint64 })) | |
| } | |
| }) | |
| var typ *abi.Type | |
| typ = abi.TypeOf(struct{ v [size / 8]*uint64 }{}) | |
| b.Run("kind=mallocgc", func(b *testing.B) { | |
| for b.Loop() { | |
| runtime.Escape(runtime.MallocGC(size, typ, true)) | |
| } | |
| }) | |
| } | |
| func benchmarkMallocgcScanSlice8(b *testing.B) { | |
| const size = 8 | |
| for b.Loop() { | |
| runtime.Escape(make([]*uint64, size/8)) | |
| } | |
| } | |
| func benchmarkMallocgcNoscan16(b *testing.B) { | |
| const size = 16 | |
| b.Run("kind=new", func(b *testing.B) { | |
| for b.Loop() { | |
| runtime.Escape(new(struct{ v [size / 8]uint64 })) | |
| } | |
| }) | |
| var typ *abi.Type | |
| typ = abi.TypeOf(struct{ v [size / 8]uint64 }{}) | |
| b.Run("kind=mallocgc", func(b *testing.B) { | |
| for b.Loop() { | |
| runtime.Escape(runtime.MallocGC(size, typ, true)) | |
| } | |
| }) | |
| } | |
| func benchmarkMallocgcScan16(b *testing.B) { | |
| const size = 16 | |
| b.Run("kind=new", func(b *testing.B) { | |
| for b.Loop() { | |
| runtime.Escape(new(struct{ v [size / 8]*uint64 })) | |
| } | |
| }) | |
| var typ *abi.Type | |
| typ = abi.TypeOf(struct{ v [size / 8]*uint64 }{}) | |
| b.Run("kind=mallocgc", func(b *testing.B) { | |
| for b.Loop() { | |
| runtime.Escape(runtime.MallocGC(size, typ, true)) | |
| } | |
| }) | |
| } | |
| func benchmarkMallocgcScanSlice16(b *testing.B) { | |
| const size = 16 | |
| for b.Loop() { | |
| runtime.Escape(make([]*uint64, size/8)) | |
| } | |
| } | |
| func benchmarkMallocgcNoscan24(b *testing.B) { | |
| const size = 24 | |
| b.Run("kind=new", func(b *testing.B) { | |
| for b.Loop() { | |
| runtime.Escape(new(struct{ v [size / 8]uint64 })) | |
| } | |
| }) | |
| var typ *abi.Type | |
| typ = abi.TypeOf(struct{ v [size / 8]uint64 }{}) | |
| b.Run("kind=mallocgc", func(b *testing.B) { | |
| for b.Loop() { | |
| runtime.Escape(runtime.MallocGC(size, typ, true)) | |
| } | |
| }) | |
| } | |
| func benchmarkMallocgcScan24(b *testing.B) { | |
| const size = 24 | |
| b.Run("kind=new", func(b *testing.B) { | |
| for b.Loop() { | |
| runtime.Escape(new(struct{ v [size / 8]*uint64 })) | |
| } | |
| }) | |
| var typ *abi.Type | |
| typ = abi.TypeOf(struct{ v [size / 8]*uint64 }{}) | |
| b.Run("kind=mallocgc", func(b *testing.B) { | |
| for b.Loop() { | |
| runtime.Escape(runtime.MallocGC(size, typ, true)) | |
| } | |
| }) | |
| } | |
| func benchmarkMallocgcScanSlice24(b *testing.B) { | |
| const size = 24 | |
| for b.Loop() { | |
| runtime.Escape(make([]*uint64, size/8)) | |
| } | |
| } | |
| func benchmarkMallocgcNoscan32(b *testing.B) { | |
| const size = 32 | |
| b.Run("kind=new", func(b *testing.B) { | |
| for b.Loop() { | |
| runtime.Escape(new(struct{ v [size / 8]uint64 })) | |
| } | |
| }) | |
| var typ *abi.Type | |
| typ = abi.TypeOf(struct{ v [size / 8]uint64 }{}) | |
| b.Run("kind=mallocgc", func(b *testing.B) { | |
| for b.Loop() { | |
| runtime.Escape(runtime.MallocGC(size, typ, true)) | |
| } | |
| }) | |
| } | |
| func benchmarkMallocgcScan32(b *testing.B) { | |
| const size = 32 | |
| b.Run("kind=new", func(b *testing.B) { | |
| for b.Loop() { | |
| runtime.Escape(new(struct{ v [size / 8]*uint64 })) | |
| } | |
| }) | |
| var typ *abi.Type | |
| typ = abi.TypeOf(struct{ v [size / 8]*uint64 }{}) | |
| b.Run("kind=mallocgc", func(b *testing.B) { | |
| for b.Loop() { | |
| runtime.Escape(runtime.MallocGC(size, typ, true)) | |
| } | |
| }) | |
| } | |
| func benchmarkMallocgcScanSlice32(b *testing.B) { | |
| const size = 32 | |
| for b.Loop() { | |
| runtime.Escape(make([]*uint64, size/8)) | |
| } | |
| } | |
| func benchmarkMallocgcNoscan48(b *testing.B) { | |
| const size = 48 | |
| b.Run("kind=new", func(b *testing.B) { | |
| for b.Loop() { | |
| runtime.Escape(new(struct{ v [size / 8]uint64 })) | |
| } | |
| }) | |
| var typ *abi.Type | |
| typ = abi.TypeOf(struct{ v [size / 8]uint64 }{}) | |
| b.Run("kind=mallocgc", func(b *testing.B) { | |
| for b.Loop() { | |
| runtime.Escape(runtime.MallocGC(size, typ, true)) | |
| } | |
| }) | |
| } | |
| func benchmarkMallocgcScan48(b *testing.B) { | |
| const size = 48 | |
| b.Run("kind=new", func(b *testing.B) { | |
| for b.Loop() { | |
| runtime.Escape(new(struct{ v [size / 8]*uint64 })) | |
| } | |
| }) | |
| var typ *abi.Type | |
| typ = abi.TypeOf(struct{ v [size / 8]*uint64 }{}) | |
| b.Run("kind=mallocgc", func(b *testing.B) { | |
| for b.Loop() { | |
| runtime.Escape(runtime.MallocGC(size, typ, true)) | |
| } | |
| }) | |
| } | |
| func benchmarkMallocgcScanSlice48(b *testing.B) { | |
| const size = 48 | |
| for b.Loop() { | |
| runtime.Escape(make([]*uint64, size/8)) | |
| } | |
| } | |
| func benchmarkMallocgcNoscan64(b *testing.B) { | |
| const size = 64 | |
| b.Run("kind=new", func(b *testing.B) { | |
| for b.Loop() { | |
| runtime.Escape(new(struct{ v [size / 8]uint64 })) | |
| } | |
| }) | |
| var typ *abi.Type | |
| typ = abi.TypeOf(struct{ v [size / 8]uint64 }{}) | |
| b.Run("kind=mallocgc", func(b *testing.B) { | |
| for b.Loop() { | |
| runtime.Escape(runtime.MallocGC(size, typ, true)) | |
| } | |
| }) | |
| } | |
| func benchmarkMallocgcScan64(b *testing.B) { | |
| const size = 64 | |
| b.Run("kind=new", func(b *testing.B) { | |
| for b.Loop() { | |
| runtime.Escape(new(struct{ v [size / 8]*uint64 })) | |
| } | |
| }) | |
| var typ *abi.Type | |
| typ = abi.TypeOf(struct{ v [size / 8]*uint64 }{}) | |
| b.Run("kind=mallocgc", func(b *testing.B) { | |
| for b.Loop() { | |
| runtime.Escape(runtime.MallocGC(size, typ, true)) | |
| } | |
| }) | |
| } | |
| func benchmarkMallocgcScanSlice64(b *testing.B) { | |
| const size = 64 | |
| for b.Loop() { | |
| runtime.Escape(make([]*uint64, size/8)) | |
| } | |
| } | |
| func benchmarkMallocgcNoscan80(b *testing.B) { | |
| const size = 80 | |
| b.Run("kind=new", func(b *testing.B) { | |
| for b.Loop() { | |
| runtime.Escape(new(struct{ v [size / 8]uint64 })) | |
| } | |
| }) | |
| var typ *abi.Type | |
| typ = abi.TypeOf(struct{ v [size / 8]uint64 }{}) | |
| b.Run("kind=mallocgc", func(b *testing.B) { | |
| for b.Loop() { | |
| runtime.Escape(runtime.MallocGC(size, typ, true)) | |
| } | |
| }) | |
| } | |
| func benchmarkMallocgcScan80(b *testing.B) { | |
| const size = 80 | |
| b.Run("kind=new", func(b *testing.B) { | |
| for b.Loop() { | |
| runtime.Escape(new(struct{ v [size / 8]*uint64 })) | |
| } | |
| }) | |
| var typ *abi.Type | |
| typ = abi.TypeOf(struct{ v [size / 8]*uint64 }{}) | |
| b.Run("kind=mallocgc", func(b *testing.B) { | |
| for b.Loop() { | |
| runtime.Escape(runtime.MallocGC(size, typ, true)) | |
| } | |
| }) | |
| } | |
| func benchmarkMallocgcScanSlice80(b *testing.B) { | |
| const size = 80 | |
| for b.Loop() { | |
| runtime.Escape(make([]*uint64, size/8)) | |
| } | |
| } | |
| func benchmarkMallocgcNoscan96(b *testing.B) { | |
| const size = 96 | |
| b.Run("kind=new", func(b *testing.B) { | |
| for b.Loop() { | |
| runtime.Escape(new(struct{ v [size / 8]uint64 })) | |
| } | |
| }) | |
| var typ *abi.Type | |
| typ = abi.TypeOf(struct{ v [size / 8]uint64 }{}) | |
| b.Run("kind=mallocgc", func(b *testing.B) { | |
| for b.Loop() { | |
| runtime.Escape(runtime.MallocGC(size, typ, true)) | |
| } | |
| }) | |
| } | |
| func benchmarkMallocgcScan96(b *testing.B) { | |
| const size = 96 | |
| b.Run("kind=new", func(b *testing.B) { | |
| for b.Loop() { | |
| runtime.Escape(new(struct{ v [size / 8]*uint64 })) | |
| } | |
| }) | |
| var typ *abi.Type | |
| typ = abi.TypeOf(struct{ v [size / 8]*uint64 }{}) | |
| b.Run("kind=mallocgc", func(b *testing.B) { | |
| for b.Loop() { | |
| runtime.Escape(runtime.MallocGC(size, typ, true)) | |
| } | |
| }) | |
| } | |
| func benchmarkMallocgcScanSlice96(b *testing.B) { | |
| const size = 96 | |
| for b.Loop() { | |
| runtime.Escape(make([]*uint64, size/8)) | |
| } | |
| } | |
| func benchmarkMallocgcNoscan112(b *testing.B) { | |
| const size = 112 | |
| b.Run("kind=new", func(b *testing.B) { | |
| for b.Loop() { | |
| runtime.Escape(new(struct{ v [size / 8]uint64 })) | |
| } | |
| }) | |
| var typ *abi.Type | |
| typ = abi.TypeOf(struct{ v [size / 8]uint64 }{}) | |
| b.Run("kind=mallocgc", func(b *testing.B) { | |
| for b.Loop() { | |
| runtime.Escape(runtime.MallocGC(size, typ, true)) | |
| } | |
| }) | |
| } | |
| func benchmarkMallocgcScan112(b *testing.B) { | |
| const size = 112 | |
| b.Run("kind=new", func(b *testing.B) { | |
| for b.Loop() { | |
| runtime.Escape(new(struct{ v [size / 8]*uint64 })) | |
| } | |
| }) | |
| var typ *abi.Type | |
| typ = abi.TypeOf(struct{ v [size / 8]*uint64 }{}) | |
| b.Run("kind=mallocgc", func(b *testing.B) { | |
| for b.Loop() { | |
| runtime.Escape(runtime.MallocGC(size, typ, true)) | |
| } | |
| }) | |
| } | |
| func benchmarkMallocgcScanSlice112(b *testing.B) { | |
| const size = 112 | |
| for b.Loop() { | |
| runtime.Escape(make([]*uint64, size/8)) | |
| } | |
| } | |
| func benchmarkMallocgcNoscan128(b *testing.B) { | |
| const size = 128 | |
| b.Run("kind=new", func(b *testing.B) { | |
| for b.Loop() { | |
| runtime.Escape(new(struct{ v [size / 8]uint64 })) | |
| } | |
| }) | |
| var typ *abi.Type | |
| typ = abi.TypeOf(struct{ v [size / 8]uint64 }{}) | |
| b.Run("kind=mallocgc", func(b *testing.B) { | |
| for b.Loop() { | |
| runtime.Escape(runtime.MallocGC(size, typ, true)) | |
| } | |
| }) | |
| } | |
| func benchmarkMallocgcScan128(b *testing.B) { | |
| const size = 128 | |
| b.Run("kind=new", func(b *testing.B) { | |
| for b.Loop() { | |
| runtime.Escape(new(struct{ v [size / 8]*uint64 })) | |
| } | |
| }) | |
| var typ *abi.Type | |
| typ = abi.TypeOf(struct{ v [size / 8]*uint64 }{}) | |
| b.Run("kind=mallocgc", func(b *testing.B) { | |
| for b.Loop() { | |
| runtime.Escape(runtime.MallocGC(size, typ, true)) | |
| } | |
| }) | |
| } | |
| func benchmarkMallocgcScanSlice128(b *testing.B) { | |
| const size = 128 | |
| for b.Loop() { | |
| runtime.Escape(make([]*uint64, size/8)) | |
| } | |
| } | |
| func benchmarkMallocgcNoscan144(b *testing.B) { | |
| const size = 144 | |
| b.Run("kind=new", func(b *testing.B) { | |
| for b.Loop() { | |
| runtime.Escape(new(struct{ v [size / 8]uint64 })) | |
| } | |
| }) | |
| var typ *abi.Type | |
| typ = abi.TypeOf(struct{ v [size / 8]uint64 }{}) | |
| b.Run("kind=mallocgc", func(b *testing.B) { | |
| for b.Loop() { | |
| runtime.Escape(runtime.MallocGC(size, typ, true)) | |
| } | |
| }) | |
| } | |
| func benchmarkMallocgcScan144(b *testing.B) { | |
| const size = 144 | |
| b.Run("kind=new", func(b *testing.B) { | |
| for b.Loop() { | |
| runtime.Escape(new(struct{ v [size / 8]*uint64 })) | |
| } | |
| }) | |
| var typ *abi.Type | |
| typ = abi.TypeOf(struct{ v [size / 8]*uint64 }{}) | |
| b.Run("kind=mallocgc", func(b *testing.B) { | |
| for b.Loop() { | |
| runtime.Escape(runtime.MallocGC(size, typ, true)) | |
| } | |
| }) | |
| } | |
| func benchmarkMallocgcScanSlice144(b *testing.B) { | |
| const size = 144 | |
| for b.Loop() { | |
| runtime.Escape(make([]*uint64, size/8)) | |
| } | |
| } | |
| func benchmarkMallocgcNoscan160(b *testing.B) { | |
| const size = 160 | |
| b.Run("kind=new", func(b *testing.B) { | |
| for b.Loop() { | |
| runtime.Escape(new(struct{ v [size / 8]uint64 })) | |
| } | |
| }) | |
| var typ *abi.Type | |
| typ = abi.TypeOf(struct{ v [size / 8]uint64 }{}) | |
| b.Run("kind=mallocgc", func(b *testing.B) { | |
| for b.Loop() { | |
| runtime.Escape(runtime.MallocGC(size, typ, true)) | |
| } | |
| }) | |
| } | |
| func benchmarkMallocgcScan160(b *testing.B) { | |
| const size = 160 | |
| b.Run("kind=new", func(b *testing.B) { | |
| for b.Loop() { | |
| runtime.Escape(new(struct{ v [size / 8]*uint64 })) | |
| } | |
| }) | |
| var typ *abi.Type | |
| typ = abi.TypeOf(struct{ v [size / 8]*uint64 }{}) | |
| b.Run("kind=mallocgc", func(b *testing.B) { | |
| for b.Loop() { | |
| runtime.Escape(runtime.MallocGC(size, typ, true)) | |
| } | |
| }) | |
| } | |
| func benchmarkMallocgcScanSlice160(b *testing.B) { | |
| const size = 160 | |
| for b.Loop() { | |
| runtime.Escape(make([]*uint64, size/8)) | |
| } | |
| } | |
| func benchmarkMallocgcNoscan176(b *testing.B) { | |
| const size = 176 | |
| b.Run("kind=new", func(b *testing.B) { | |
| for b.Loop() { | |
| runtime.Escape(new(struct{ v [size / 8]uint64 })) | |
| } | |
| }) | |
| var typ *abi.Type | |
| typ = abi.TypeOf(struct{ v [size / 8]uint64 }{}) | |
| b.Run("kind=mallocgc", func(b *testing.B) { | |
| for b.Loop() { | |
| runtime.Escape(runtime.MallocGC(size, typ, true)) | |
| } | |
| }) | |
| } | |
| func benchmarkMallocgcScan176(b *testing.B) { | |
| const size = 176 | |
| b.Run("kind=new", func(b *testing.B) { | |
| for b.Loop() { | |
| runtime.Escape(new(struct{ v [size / 8]*uint64 })) | |
| } | |
| }) | |
| var typ *abi.Type | |
| typ = abi.TypeOf(struct{ v [size / 8]*uint64 }{}) | |
| b.Run("kind=mallocgc", func(b *testing.B) { | |
| for b.Loop() { | |
| runtime.Escape(runtime.MallocGC(size, typ, true)) | |
| } | |
| }) | |
| } | |
| func benchmarkMallocgcScanSlice176(b *testing.B) { | |
| const size = 176 | |
| for b.Loop() { | |
| runtime.Escape(make([]*uint64, size/8)) | |
| } | |
| } | |
| func benchmarkMallocgcNoscan192(b *testing.B) { | |
| const size = 192 | |
| b.Run("kind=new", func(b *testing.B) { | |
| for b.Loop() { | |
| runtime.Escape(new(struct{ v [size / 8]uint64 })) | |
| } | |
| }) | |
| var typ *abi.Type | |
| typ = abi.TypeOf(struct{ v [size / 8]uint64 }{}) | |
| b.Run("kind=mallocgc", func(b *testing.B) { | |
| for b.Loop() { | |
| runtime.Escape(runtime.MallocGC(size, typ, true)) | |
| } | |
| }) | |
| } | |
| func benchmarkMallocgcScan192(b *testing.B) { | |
| const size = 192 | |
| b.Run("kind=new", func(b *testing.B) { | |
| for b.Loop() { | |
| runtime.Escape(new(struct{ v [size / 8]*uint64 })) | |
| } | |
| }) | |
| var typ *abi.Type | |
| typ = abi.TypeOf(struct{ v [size / 8]*uint64 }{}) | |
| b.Run("kind=mallocgc", func(b *testing.B) { | |
| for b.Loop() { | |
| runtime.Escape(runtime.MallocGC(size, typ, true)) | |
| } | |
| }) | |
| } | |
| func benchmarkMallocgcScanSlice192(b *testing.B) { | |
| const size = 192 | |
| for b.Loop() { | |
| runtime.Escape(make([]*uint64, size/8)) | |
| } | |
| } | |
| func benchmarkMallocgcNoscan208(b *testing.B) { | |
| const size = 208 | |
| b.Run("kind=new", func(b *testing.B) { | |
| for b.Loop() { | |
| runtime.Escape(new(struct{ v [size / 8]uint64 })) | |
| } | |
| }) | |
| var typ *abi.Type | |
| typ = abi.TypeOf(struct{ v [size / 8]uint64 }{}) | |
| b.Run("kind=mallocgc", func(b *testing.B) { | |
| for b.Loop() { | |
| runtime.Escape(runtime.MallocGC(size, typ, true)) | |
| } | |
| }) | |
| } | |
| func benchmarkMallocgcScan208(b *testing.B) { | |
| const size = 208 | |
| b.Run("kind=new", func(b *testing.B) { | |
| for b.Loop() { | |
| runtime.Escape(new(struct{ v [size / 8]*uint64 })) | |
| } | |
| }) | |
| var typ *abi.Type | |
| typ = abi.TypeOf(struct{ v [size / 8]*uint64 }{}) | |
| b.Run("kind=mallocgc", func(b *testing.B) { | |
| for b.Loop() { | |
| runtime.Escape(runtime.MallocGC(size, typ, true)) | |
| } | |
| }) | |
| } | |
| func benchmarkMallocgcScanSlice208(b *testing.B) { | |
| const size = 208 | |
| for b.Loop() { | |
| runtime.Escape(make([]*uint64, size/8)) | |
| } | |
| } | |
| func benchmarkMallocgcNoscan224(b *testing.B) { | |
| const size = 224 | |
| b.Run("kind=new", func(b *testing.B) { | |
| for b.Loop() { | |
| runtime.Escape(new(struct{ v [size / 8]uint64 })) | |
| } | |
| }) | |
| var typ *abi.Type | |
| typ = abi.TypeOf(struct{ v [size / 8]uint64 }{}) | |
| b.Run("kind=mallocgc", func(b *testing.B) { | |
| for b.Loop() { | |
| runtime.Escape(runtime.MallocGC(size, typ, true)) | |
| } | |
| }) | |
| } | |
| func benchmarkMallocgcScan224(b *testing.B) { | |
| const size = 224 | |
| b.Run("kind=new", func(b *testing.B) { | |
| for b.Loop() { | |
| runtime.Escape(new(struct{ v [size / 8]*uint64 })) | |
| } | |
| }) | |
| var typ *abi.Type | |
| typ = abi.TypeOf(struct{ v [size / 8]*uint64 }{}) | |
| b.Run("kind=mallocgc", func(b *testing.B) { | |
| for b.Loop() { | |
| runtime.Escape(runtime.MallocGC(size, typ, true)) | |
| } | |
| }) | |
| } | |
| func benchmarkMallocgcScanSlice224(b *testing.B) { | |
| const size = 224 | |
| for b.Loop() { | |
| runtime.Escape(make([]*uint64, size/8)) | |
| } | |
| } | |
| func benchmarkMallocgcNoscan240(b *testing.B) { | |
| const size = 240 | |
| b.Run("kind=new", func(b *testing.B) { | |
| for b.Loop() { | |
| runtime.Escape(new(struct{ v [size / 8]uint64 })) | |
| } | |
| }) | |
| var typ *abi.Type | |
| typ = abi.TypeOf(struct{ v [size / 8]uint64 }{}) | |
| b.Run("kind=mallocgc", func(b *testing.B) { | |
| for b.Loop() { | |
| runtime.Escape(runtime.MallocGC(size, typ, true)) | |
| } | |
| }) | |
| } | |
| func benchmarkMallocgcScan240(b *testing.B) { | |
| const size = 240 | |
| b.Run("kind=new", func(b *testing.B) { | |
| for b.Loop() { | |
| runtime.Escape(new(struct{ v [size / 8]*uint64 })) | |
| } | |
| }) | |
| var typ *abi.Type | |
| typ = abi.TypeOf(struct{ v [size / 8]*uint64 }{}) | |
| b.Run("kind=mallocgc", func(b *testing.B) { | |
| for b.Loop() { | |
| runtime.Escape(runtime.MallocGC(size, typ, true)) | |
| } | |
| }) | |
| } | |
| func benchmarkMallocgcScanSlice240(b *testing.B) { | |
| const size = 240 | |
| for b.Loop() { | |
| runtime.Escape(make([]*uint64, size/8)) | |
| } | |
| } | |
| func benchmarkMallocgcNoscan256(b *testing.B) { | |
| const size = 256 | |
| b.Run("kind=new", func(b *testing.B) { | |
| for b.Loop() { | |
| runtime.Escape(new(struct{ v [size / 8]uint64 })) | |
| } | |
| }) | |
| var typ *abi.Type | |
| typ = abi.TypeOf(struct{ v [size / 8]uint64 }{}) | |
| b.Run("kind=mallocgc", func(b *testing.B) { | |
| for b.Loop() { | |
| runtime.Escape(runtime.MallocGC(size, typ, true)) | |
| } | |
| }) | |
| } | |
| func benchmarkMallocgcScan256(b *testing.B) { | |
| const size = 256 | |
| b.Run("kind=new", func(b *testing.B) { | |
| for b.Loop() { | |
| runtime.Escape(new(struct{ v [size / 8]*uint64 })) | |
| } | |
| }) | |
| var typ *abi.Type | |
| typ = abi.TypeOf(struct{ v [size / 8]*uint64 }{}) | |
| b.Run("kind=mallocgc", func(b *testing.B) { | |
| for b.Loop() { | |
| runtime.Escape(runtime.MallocGC(size, typ, true)) | |
| } | |
| }) | |
| } | |
| func benchmarkMallocgcScanSlice256(b *testing.B) { | |
| const size = 256 | |
| for b.Loop() { | |
| runtime.Escape(make([]*uint64, size/8)) | |
| } | |
| } | |
| func benchmarkMallocgcNoscan288(b *testing.B) { | |
| const size = 288 | |
| b.Run("kind=new", func(b *testing.B) { | |
| for b.Loop() { | |
| runtime.Escape(new(struct{ v [size / 8]uint64 })) | |
| } | |
| }) | |
| var typ *abi.Type | |
| typ = abi.TypeOf(struct{ v [size / 8]uint64 }{}) | |
| b.Run("kind=mallocgc", func(b *testing.B) { | |
| for b.Loop() { | |
| runtime.Escape(runtime.MallocGC(size, typ, true)) | |
| } | |
| }) | |
| } | |
| func benchmarkMallocgcScan288(b *testing.B) { | |
| const size = 288 | |
| b.Run("kind=new", func(b *testing.B) { | |
| for b.Loop() { | |
| runtime.Escape(new(struct{ v [size / 8]*uint64 })) | |
| } | |
| }) | |
| var typ *abi.Type | |
| typ = abi.TypeOf(struct{ v [size / 8]*uint64 }{}) | |
| b.Run("kind=mallocgc", func(b *testing.B) { | |
| for b.Loop() { | |
| runtime.Escape(runtime.MallocGC(size, typ, true)) | |
| } | |
| }) | |
| } | |
| func benchmarkMallocgcScanSlice288(b *testing.B) { | |
| const size = 288 | |
| for b.Loop() { | |
| runtime.Escape(make([]*uint64, size/8)) | |
| } | |
| } | |
| func benchmarkMallocgcNoscan320(b *testing.B) { | |
| const size = 320 | |
| b.Run("kind=new", func(b *testing.B) { | |
| for b.Loop() { | |
| runtime.Escape(new(struct{ v [size / 8]uint64 })) | |
| } | |
| }) | |
| var typ *abi.Type | |
| typ = abi.TypeOf(struct{ v [size / 8]uint64 }{}) | |
| b.Run("kind=mallocgc", func(b *testing.B) { | |
| for b.Loop() { | |
| runtime.Escape(runtime.MallocGC(size, typ, true)) | |
| } | |
| }) | |
| } | |
| func benchmarkMallocgcScan320(b *testing.B) { | |
| const size = 320 | |
| b.Run("kind=new", func(b *testing.B) { | |
| for b.Loop() { | |
| runtime.Escape(new(struct{ v [size / 8]*uint64 })) | |
| } | |
| }) | |
| var typ *abi.Type | |
| typ = abi.TypeOf(struct{ v [size / 8]*uint64 }{}) | |
| b.Run("kind=mallocgc", func(b *testing.B) { | |
| for b.Loop() { | |
| runtime.Escape(runtime.MallocGC(size, typ, true)) | |
| } | |
| }) | |
| } | |
| func benchmarkMallocgcScanSlice320(b *testing.B) { | |
| const size = 320 | |
| for b.Loop() { | |
| runtime.Escape(make([]*uint64, size/8)) | |
| } | |
| } | |
| func benchmarkMallocgcNoscan352(b *testing.B) { | |
| const size = 352 | |
| b.Run("kind=new", func(b *testing.B) { | |
| for b.Loop() { | |
| runtime.Escape(new(struct{ v [size / 8]uint64 })) | |
| } | |
| }) | |
| var typ *abi.Type | |
| typ = abi.TypeOf(struct{ v [size / 8]uint64 }{}) | |
| b.Run("kind=mallocgc", func(b *testing.B) { | |
| for b.Loop() { | |
| runtime.Escape(runtime.MallocGC(size, typ, true)) | |
| } | |
| }) | |
| } | |
| func benchmarkMallocgcScan352(b *testing.B) { | |
| const size = 352 | |
| b.Run("kind=new", func(b *testing.B) { | |
| for b.Loop() { | |
| runtime.Escape(new(struct{ v [size / 8]*uint64 })) | |
| } | |
| }) | |
| var typ *abi.Type | |
| typ = abi.TypeOf(struct{ v [size / 8]*uint64 }{}) | |
| b.Run("kind=mallocgc", func(b *testing.B) { | |
| for b.Loop() { | |
| runtime.Escape(runtime.MallocGC(size, typ, true)) | |
| } | |
| }) | |
| } | |
| func benchmarkMallocgcScanSlice352(b *testing.B) { | |
| const size = 352 | |
| for b.Loop() { | |
| runtime.Escape(make([]*uint64, size/8)) | |
| } | |
| } | |
| func benchmarkMallocgcNoscan384(b *testing.B) { | |
| const size = 384 | |
| b.Run("kind=new", func(b *testing.B) { | |
| for b.Loop() { | |
| runtime.Escape(new(struct{ v [size / 8]uint64 })) | |
| } | |
| }) | |
| var typ *abi.Type | |
| typ = abi.TypeOf(struct{ v [size / 8]uint64 }{}) | |
| b.Run("kind=mallocgc", func(b *testing.B) { | |
| for b.Loop() { | |
| runtime.Escape(runtime.MallocGC(size, typ, true)) | |
| } | |
| }) | |
| } | |
| func benchmarkMallocgcScan384(b *testing.B) { | |
| const size = 384 | |
| b.Run("kind=new", func(b *testing.B) { | |
| for b.Loop() { | |
| runtime.Escape(new(struct{ v [size / 8]*uint64 })) | |
| } | |
| }) | |
| var typ *abi.Type | |
| typ = abi.TypeOf(struct{ v [size / 8]*uint64 }{}) | |
| b.Run("kind=mallocgc", func(b *testing.B) { | |
| for b.Loop() { | |
| runtime.Escape(runtime.MallocGC(size, typ, true)) | |
| } | |
| }) | |
| } | |
| func benchmarkMallocgcScanSlice384(b *testing.B) { | |
| const size = 384 | |
| for b.Loop() { | |
| runtime.Escape(make([]*uint64, size/8)) | |
| } | |
| } | |
| func benchmarkMallocgcNoscan416(b *testing.B) { | |
| const size = 416 | |
| b.Run("kind=new", func(b *testing.B) { | |
| for b.Loop() { | |
| runtime.Escape(new(struct{ v [size / 8]uint64 })) | |
| } | |
| }) | |
| var typ *abi.Type | |
| typ = abi.TypeOf(struct{ v [size / 8]uint64 }{}) | |
| b.Run("kind=mallocgc", func(b *testing.B) { | |
| for b.Loop() { | |
| runtime.Escape(runtime.MallocGC(size, typ, true)) | |
| } | |
| }) | |
| } | |
| func benchmarkMallocgcScan416(b *testing.B) { | |
| const size = 416 | |
| b.Run("kind=new", func(b *testing.B) { | |
| for b.Loop() { | |
| runtime.Escape(new(struct{ v [size / 8]*uint64 })) | |
| } | |
| }) | |
| var typ *abi.Type | |
| typ = abi.TypeOf(struct{ v [size / 8]*uint64 }{}) | |
| b.Run("kind=mallocgc", func(b *testing.B) { | |
| for b.Loop() { | |
| runtime.Escape(runtime.MallocGC(size, typ, true)) | |
| } | |
| }) | |
| } | |
| func benchmarkMallocgcScanSlice416(b *testing.B) { | |
| const size = 416 | |
| for b.Loop() { | |
| runtime.Escape(make([]*uint64, size/8)) | |
| } | |
| } | |
| func benchmarkMallocgcNoscan448(b *testing.B) { | |
| const size = 448 | |
| b.Run("kind=new", func(b *testing.B) { | |
| for b.Loop() { | |
| runtime.Escape(new(struct{ v [size / 8]uint64 })) | |
| } | |
| }) | |
| var typ *abi.Type | |
| typ = abi.TypeOf(struct{ v [size / 8]uint64 }{}) | |
| b.Run("kind=mallocgc", func(b *testing.B) { | |
| for b.Loop() { | |
| runtime.Escape(runtime.MallocGC(size, typ, true)) | |
| } | |
| }) | |
| } | |
| func benchmarkMallocgcScan448(b *testing.B) { | |
| const size = 448 | |
| b.Run("kind=new", func(b *testing.B) { | |
| for b.Loop() { | |
| runtime.Escape(new(struct{ v [size / 8]*uint64 })) | |
| } | |
| }) | |
| var typ *abi.Type | |
| typ = abi.TypeOf(struct{ v [size / 8]*uint64 }{}) | |
| b.Run("kind=mallocgc", func(b *testing.B) { | |
| for b.Loop() { | |
| runtime.Escape(runtime.MallocGC(size, typ, true)) | |
| } | |
| }) | |
| } | |
| func benchmarkMallocgcScanSlice448(b *testing.B) { | |
| const size = 448 | |
| for b.Loop() { | |
| runtime.Escape(make([]*uint64, size/8)) | |
| } | |
| } | |
| func benchmarkMallocgcNoscan480(b *testing.B) { | |
| const size = 480 | |
| b.Run("kind=new", func(b *testing.B) { | |
| for b.Loop() { | |
| runtime.Escape(new(struct{ v [size / 8]uint64 })) | |
| } | |
| }) | |
| var typ *abi.Type | |
| typ = abi.TypeOf(struct{ v [size / 8]uint64 }{}) | |
| b.Run("kind=mallocgc", func(b *testing.B) { | |
| for b.Loop() { | |
| runtime.Escape(runtime.MallocGC(size, typ, true)) | |
| } | |
| }) | |
| } | |
| func benchmarkMallocgcScan480(b *testing.B) { | |
| const size = 480 | |
| b.Run("kind=new", func(b *testing.B) { | |
| for b.Loop() { | |
| runtime.Escape(new(struct{ v [size / 8]*uint64 })) | |
| } | |
| }) | |
| var typ *abi.Type | |
| typ = abi.TypeOf(struct{ v [size / 8]*uint64 }{}) | |
| b.Run("kind=mallocgc", func(b *testing.B) { | |
| for b.Loop() { | |
| runtime.Escape(runtime.MallocGC(size, typ, true)) | |
| } | |
| }) | |
| } | |
| func benchmarkMallocgcScanSlice480(b *testing.B) { | |
| const size = 480 | |
| for b.Loop() { | |
| runtime.Escape(make([]*uint64, size/8)) | |
| } | |
| } | |
| func benchmarkMallocgcNoscan512(b *testing.B) { | |
| const size = 512 | |
| b.Run("kind=new", func(b *testing.B) { | |
| for b.Loop() { | |
| runtime.Escape(new(struct{ v [size / 8]uint64 })) | |
| } | |
| }) | |
| var typ *abi.Type | |
| typ = abi.TypeOf(struct{ v [size / 8]uint64 }{}) | |
| b.Run("kind=mallocgc", func(b *testing.B) { | |
| for b.Loop() { | |
| runtime.Escape(runtime.MallocGC(size, typ, true)) | |
| } | |
| }) | |
| } | |
| func benchmarkMallocgcScan512(b *testing.B) { | |
| const size = 512 | |
| b.Run("kind=new", func(b *testing.B) { | |
| for b.Loop() { | |
| runtime.Escape(new(struct{ v [size / 8]*uint64 })) | |
| } | |
| }) | |
| var typ *abi.Type | |
| typ = abi.TypeOf(struct{ v [size / 8]*uint64 }{}) | |
| b.Run("kind=mallocgc", func(b *testing.B) { | |
| for b.Loop() { | |
| runtime.Escape(runtime.MallocGC(size, typ, true)) | |
| } | |
| }) | |
| } | |
| func benchmarkMallocgcScanSlice512(b *testing.B) { | |
| const size = 512 | |
| for b.Loop() { | |
| runtime.Escape(make([]*uint64, size/8)) | |
| } | |
| } | |
| func benchmarkMallocgcTiny1(b *testing.B) { | |
| const size = 1 | |
| type s struct { | |
| v [size]byte | |
| } | |
| b.Run("kind=new", func(b *testing.B) { | |
| for b.Loop() { | |
| runtime.Escape(new(s)) | |
| } | |
| }) | |
| typ := abi.TypeOf(s{}) | |
| b.Run("kind=mallocgc", func(b *testing.B) { | |
| for b.Loop() { | |
| runtime.Escape(runtime.MallocGC(size, typ, false)) | |
| } | |
| }) | |
| } | |
| func benchmarkMallocgcTiny2(b *testing.B) { | |
| const size = 2 | |
| type s struct { | |
| v [size]byte | |
| } | |
| b.Run("kind=new", func(b *testing.B) { | |
| for b.Loop() { | |
| runtime.Escape(new(s)) | |
| } | |
| }) | |
| typ := abi.TypeOf(s{}) | |
| b.Run("kind=mallocgc", func(b *testing.B) { | |
| for b.Loop() { | |
| runtime.Escape(runtime.MallocGC(size, typ, false)) | |
| } | |
| }) | |
| } | |
| func benchmarkMallocgcTiny3(b *testing.B) { | |
| const size = 3 | |
| type s struct { | |
| v [size]byte | |
| } | |
| b.Run("kind=new", func(b *testing.B) { | |
| for b.Loop() { | |
| runtime.Escape(new(s)) | |
| } | |
| }) | |
| typ := abi.TypeOf(s{}) | |
| b.Run("kind=mallocgc", func(b *testing.B) { | |
| for b.Loop() { | |
| runtime.Escape(runtime.MallocGC(size, typ, false)) | |
| } | |
| }) | |
| } | |
| func benchmarkMallocgcTiny4(b *testing.B) { | |
| const size = 4 | |
| type s struct { | |
| v [size]byte | |
| } | |
| b.Run("kind=new", func(b *testing.B) { | |
| for b.Loop() { | |
| runtime.Escape(new(s)) | |
| } | |
| }) | |
| typ := abi.TypeOf(s{}) | |
| b.Run("kind=mallocgc", func(b *testing.B) { | |
| for b.Loop() { | |
| runtime.Escape(runtime.MallocGC(size, typ, false)) | |
| } | |
| }) | |
| } | |
| func benchmarkMallocgcTiny5(b *testing.B) { | |
| const size = 5 | |
| type s struct { | |
| v [size]byte | |
| } | |
| b.Run("kind=new", func(b *testing.B) { | |
| for b.Loop() { | |
| runtime.Escape(new(s)) | |
| } | |
| }) | |
| typ := abi.TypeOf(s{}) | |
| b.Run("kind=mallocgc", func(b *testing.B) { | |
| for b.Loop() { | |
| runtime.Escape(runtime.MallocGC(size, typ, false)) | |
| } | |
| }) | |
| } | |
| func benchmarkMallocgcTiny6(b *testing.B) { | |
| const size = 6 | |
| type s struct { | |
| v [size]byte | |
| } | |
| b.Run("kind=new", func(b *testing.B) { | |
| for b.Loop() { | |
| runtime.Escape(new(s)) | |
| } | |
| }) | |
| typ := abi.TypeOf(s{}) | |
| b.Run("kind=mallocgc", func(b *testing.B) { | |
| for b.Loop() { | |
| runtime.Escape(runtime.MallocGC(size, typ, false)) | |
| } | |
| }) | |
| } | |
| func benchmarkMallocgcTiny7(b *testing.B) { | |
| const size = 7 | |
| type s struct { | |
| v [size]byte | |
| } | |
| b.Run("kind=new", func(b *testing.B) { | |
| for b.Loop() { | |
| runtime.Escape(new(s)) | |
| } | |
| }) | |
| typ := abi.TypeOf(s{}) | |
| b.Run("kind=mallocgc", func(b *testing.B) { | |
| for b.Loop() { | |
| runtime.Escape(runtime.MallocGC(size, typ, false)) | |
| } | |
| }) | |
| } | |
| func benchmarkMallocgcTiny8(b *testing.B) { | |
| const size = 8 | |
| type s struct { | |
| v [size]byte | |
| } | |
| b.Run("kind=new", func(b *testing.B) { | |
| for b.Loop() { | |
| runtime.Escape(new(s)) | |
| } | |
| }) | |
| typ := abi.TypeOf(s{}) | |
| b.Run("kind=mallocgc", func(b *testing.B) { | |
| for b.Loop() { | |
| runtime.Escape(runtime.MallocGC(size, typ, false)) | |
| } | |
| }) | |
| } | |
| func benchmarkMallocgcTiny9(b *testing.B) { | |
| const size = 9 | |
| type s struct { | |
| v [size]byte | |
| } | |
| b.Run("kind=new", func(b *testing.B) { | |
| for b.Loop() { | |
| runtime.Escape(new(s)) | |
| } | |
| }) | |
| typ := abi.TypeOf(s{}) | |
| b.Run("kind=mallocgc", func(b *testing.B) { | |
| for b.Loop() { | |
| runtime.Escape(runtime.MallocGC(size, typ, false)) | |
| } | |
| }) | |
| } | |
| func benchmarkMallocgcTiny10(b *testing.B) { | |
| const size = 10 | |
| type s struct { | |
| v [size]byte | |
| } | |
| b.Run("kind=new", func(b *testing.B) { | |
| for b.Loop() { | |
| runtime.Escape(new(s)) | |
| } | |
| }) | |
| typ := abi.TypeOf(s{}) | |
| b.Run("kind=mallocgc", func(b *testing.B) { | |
| for b.Loop() { | |
| runtime.Escape(runtime.MallocGC(size, typ, false)) | |
| } | |
| }) | |
| } | |
| func benchmarkMallocgcTiny11(b *testing.B) { | |
| const size = 11 | |
| type s struct { | |
| v [size]byte | |
| } | |
| b.Run("kind=new", func(b *testing.B) { | |
| for b.Loop() { | |
| runtime.Escape(new(s)) | |
| } | |
| }) | |
| typ := abi.TypeOf(s{}) | |
| b.Run("kind=mallocgc", func(b *testing.B) { | |
| for b.Loop() { | |
| runtime.Escape(runtime.MallocGC(size, typ, false)) | |
| } | |
| }) | |
| } | |
| func benchmarkMallocgcTiny12(b *testing.B) { | |
| const size = 12 | |
| type s struct { | |
| v [size]byte | |
| } | |
| b.Run("kind=new", func(b *testing.B) { | |
| for b.Loop() { | |
| runtime.Escape(new(s)) | |
| } | |
| }) | |
| typ := abi.TypeOf(s{}) | |
| b.Run("kind=mallocgc", func(b *testing.B) { | |
| for b.Loop() { | |
| runtime.Escape(runtime.MallocGC(size, typ, false)) | |
| } | |
| }) | |
| } | |
| func benchmarkMallocgcTiny13(b *testing.B) { | |
| const size = 13 | |
| type s struct { | |
| v [size]byte | |
| } | |
| b.Run("kind=new", func(b *testing.B) { | |
| for b.Loop() { | |
| runtime.Escape(new(s)) | |
| } | |
| }) | |
| typ := abi.TypeOf(s{}) | |
| b.Run("kind=mallocgc", func(b *testing.B) { | |
| for b.Loop() { | |
| runtime.Escape(runtime.MallocGC(size, typ, false)) | |
| } | |
| }) | |
| } | |
| func benchmarkMallocgcTiny14(b *testing.B) { | |
| const size = 14 | |
| type s struct { | |
| v [size]byte | |
| } | |
| b.Run("kind=new", func(b *testing.B) { | |
| for b.Loop() { | |
| runtime.Escape(new(s)) | |
| } | |
| }) | |
| typ := abi.TypeOf(s{}) | |
| b.Run("kind=mallocgc", func(b *testing.B) { | |
| for b.Loop() { | |
| runtime.Escape(runtime.MallocGC(size, typ, false)) | |
| } | |
| }) | |
| } | |
| func benchmarkMallocgcTiny15(b *testing.B) { | |
| const size = 15 | |
| type s struct { | |
| v [size]byte | |
| } | |
| b.Run("kind=new", func(b *testing.B) { | |
| for b.Loop() { | |
| runtime.Escape(new(s)) | |
| } | |
| }) | |
| typ := abi.TypeOf(s{}) | |
| b.Run("kind=mallocgc", func(b *testing.B) { | |
| for b.Loop() { | |
| runtime.Escape(runtime.MallocGC(size, typ, false)) | |
| } | |
| }) | |
| } | |
| func BenchmarkMallocgc(b *testing.B) { | |
| b.Run("scan=noscan", func(b *testing.B) { | |
| b.Run("size=1", benchmarkMallocgcTiny1) | |
| b.Run("size=2", benchmarkMallocgcTiny2) | |
| b.Run("size=3", benchmarkMallocgcTiny3) | |
| b.Run("size=4", benchmarkMallocgcTiny4) | |
| b.Run("size=5", benchmarkMallocgcTiny5) | |
| b.Run("size=6", benchmarkMallocgcTiny6) | |
| b.Run("size=7", benchmarkMallocgcTiny7) | |
| b.Run("size=8", benchmarkMallocgcTiny8) | |
| b.Run("size=9", benchmarkMallocgcTiny9) | |
| b.Run("size=10", benchmarkMallocgcTiny10) | |
| b.Run("size=11", benchmarkMallocgcTiny11) | |
| b.Run("size=12", benchmarkMallocgcTiny12) | |
| b.Run("size=13", benchmarkMallocgcTiny13) | |
| b.Run("size=14", benchmarkMallocgcTiny14) | |
| b.Run("size=15", benchmarkMallocgcTiny15) | |
| b.Run("size=16", benchmarkMallocgcNoscan16) | |
| b.Run("size=24", benchmarkMallocgcNoscan24) | |
| b.Run("size=32", benchmarkMallocgcNoscan32) | |
| b.Run("size=48", benchmarkMallocgcNoscan48) | |
| b.Run("size=64", benchmarkMallocgcNoscan64) | |
| b.Run("size=80", benchmarkMallocgcNoscan80) | |
| b.Run("size=96", benchmarkMallocgcNoscan96) | |
| b.Run("size=112", benchmarkMallocgcNoscan112) | |
| b.Run("size=128", benchmarkMallocgcNoscan128) | |
| b.Run("size=144", benchmarkMallocgcNoscan144) | |
| b.Run("size=160", benchmarkMallocgcNoscan160) | |
| b.Run("size=176", benchmarkMallocgcNoscan176) | |
| b.Run("size=192", benchmarkMallocgcNoscan192) | |
| b.Run("size=208", benchmarkMallocgcNoscan208) | |
| b.Run("size=224", benchmarkMallocgcNoscan224) | |
| b.Run("size=240", benchmarkMallocgcNoscan240) | |
| b.Run("size=256", benchmarkMallocgcNoscan256) | |
| b.Run("size=288", benchmarkMallocgcNoscan288) | |
| b.Run("size=320", benchmarkMallocgcNoscan320) | |
| b.Run("size=352", benchmarkMallocgcNoscan352) | |
| b.Run("size=384", benchmarkMallocgcNoscan384) | |
| b.Run("size=416", benchmarkMallocgcNoscan416) | |
| b.Run("size=448", benchmarkMallocgcNoscan448) | |
| b.Run("size=480", benchmarkMallocgcNoscan480) | |
| b.Run("size=512", benchmarkMallocgcNoscan512) | |
| }) | |
| b.Run("scan=scan", func(b *testing.B) { | |
| b.Run("size=8", benchmarkMallocgcScan8) | |
| b.Run("size=16", benchmarkMallocgcScan16) | |
| b.Run("size=24", benchmarkMallocgcScan24) | |
| b.Run("size=32", benchmarkMallocgcScan32) | |
| b.Run("size=48", benchmarkMallocgcScan48) | |
| b.Run("size=64", benchmarkMallocgcScan64) | |
| b.Run("size=80", benchmarkMallocgcScan80) | |
| b.Run("size=96", benchmarkMallocgcScan96) | |
| b.Run("size=112", benchmarkMallocgcScan112) | |
| b.Run("size=128", benchmarkMallocgcScan128) | |
| b.Run("size=144", benchmarkMallocgcScan144) | |
| b.Run("size=160", benchmarkMallocgcScan160) | |
| b.Run("size=176", benchmarkMallocgcScan176) | |
| b.Run("size=192", benchmarkMallocgcScan192) | |
| b.Run("size=208", benchmarkMallocgcScan208) | |
| b.Run("size=224", benchmarkMallocgcScan224) | |
| b.Run("size=240", benchmarkMallocgcScan240) | |
| b.Run("size=256", benchmarkMallocgcScan256) | |
| b.Run("size=288", benchmarkMallocgcScan288) | |
| b.Run("size=320", benchmarkMallocgcScan320) | |
| b.Run("size=352", benchmarkMallocgcScan352) | |
| b.Run("size=384", benchmarkMallocgcScan384) | |
| b.Run("size=416", benchmarkMallocgcScan416) | |
| b.Run("size=448", benchmarkMallocgcScan448) | |
| b.Run("size=480", benchmarkMallocgcScan480) | |
| b.Run("size=512", benchmarkMallocgcScan512) | |
| }) | |
| b.Run("scan=scanslice", func(b *testing.B) { | |
| b.Run("size=8", benchmarkMallocgcScanSlice8) | |
| b.Run("size=16", benchmarkMallocgcScanSlice16) | |
| b.Run("size=24", benchmarkMallocgcScanSlice24) | |
| b.Run("size=32", benchmarkMallocgcScanSlice32) | |
| b.Run("size=48", benchmarkMallocgcScanSlice48) | |
| b.Run("size=64", benchmarkMallocgcScanSlice64) | |
| b.Run("size=80", benchmarkMallocgcScanSlice80) | |
| b.Run("size=96", benchmarkMallocgcScanSlice96) | |
| b.Run("size=112", benchmarkMallocgcScanSlice112) | |
| b.Run("size=128", benchmarkMallocgcScanSlice128) | |
| b.Run("size=144", benchmarkMallocgcScanSlice144) | |
| b.Run("size=160", benchmarkMallocgcScanSlice160) | |
| b.Run("size=176", benchmarkMallocgcScanSlice176) | |
| b.Run("size=192", benchmarkMallocgcScanSlice192) | |
| b.Run("size=208", benchmarkMallocgcScanSlice208) | |
| b.Run("size=224", benchmarkMallocgcScanSlice224) | |
| b.Run("size=240", benchmarkMallocgcScanSlice240) | |
| b.Run("size=256", benchmarkMallocgcScanSlice256) | |
| b.Run("size=288", benchmarkMallocgcScanSlice288) | |
| b.Run("size=320", benchmarkMallocgcScanSlice320) | |
| b.Run("size=352", benchmarkMallocgcScanSlice352) | |
| b.Run("size=384", benchmarkMallocgcScanSlice384) | |
| b.Run("size=416", benchmarkMallocgcScanSlice416) | |
| b.Run("size=448", benchmarkMallocgcScanSlice448) | |
| b.Run("size=480", benchmarkMallocgcScanSlice480) | |
| b.Run("size=512", benchmarkMallocgcScanSlice512) | |
| }) | |
| } |