MCPcopy Index your code
hub / github.com/CovenantSQL/CovenantSQL / benchmarkDec

Function benchmarkDec

types/types_test.go:467–494  ·  view source on GitHub ↗
(b *testing.B, v interface{})

Source from the content-addressed store, hash-verified

465}
466
467func benchmarkDec(b *testing.B, v interface{}) {
468 var (
469 r []byte
470 err error
471
472 h = &codec.MsgpackHandle{
473 WriteExt: true,
474 }
475 enc = codec.NewEncoderBytes(&r, h)
476 recvt = reflect.ValueOf(v).Elem().Type()
477 recvs = make([]interface{}, b.N)
478 )
479 // Encode v and make receivers
480 if err = enc.Encode(v); err != nil {
481 b.Error(err)
482 }
483 for i := range recvs {
484 recvs[i] = reflect.New(recvt).Interface()
485 }
486 b.ResetTimer()
487 // Start benchmark
488 for i := 0; i < b.N; i++ {
489 var dec = codec.NewDecoder(bytes.NewReader(r), h)
490 if err = dec.Decode(recvs[i]); err != nil {
491 b.Error(err)
492 }
493 }
494}
495
496type ver interface {
497 Verify() error

Callers 1

BenchmarkTypesFunction · 0.85

Calls 2

ErrorMethod · 0.80
NewMethod · 0.65

Tested by

no test coverage detected