MCPcopy
hub / github.com/klauspost/compress / Benchmark_seqdec_decodeSync

Function Benchmark_seqdec_decodeSync

zstd/seqdec_test.go:515–569  ·  view source on GitHub ↗
(b *testing.B)

Source from the content-addressed store, hash-verified

513}
514
515func Benchmark_seqdec_decodeSync(b *testing.B) {
516 zr := testCreateZipReader("testdata/seqs.zip", b)
517 tb := b
518 for _, tt := range zr.File {
519 var ref testSequence
520 if !ref.parse(tt.Name) {
521 tb.Skip("unable to parse:", tt.Name)
522 }
523 r, err := tt.Open()
524 if err != nil {
525 tb.Error(err)
526 return
527 }
528
529 seqData, err := io.ReadAll(r)
530 if err != nil {
531 tb.Error(err)
532 return
533 }
534 var buf = bytes.NewBuffer(seqData)
535 s := readDecoders(tb, buf, ref)
536
537 lits := s.literals
538 hist := make([]byte, ref.win)
539 b.Run(tt.Name, func(b *testing.B) {
540 fatalIf := func(err error) {
541 if err != nil {
542 b.Fatal(err)
543 }
544 }
545 decoded := 0
546 b.ReportAllocs()
547 b.ResetTimer()
548 t := time.Now()
549
550 for i := 0; i < b.N; i++ {
551 fatalIf(s.br.init(buf.Bytes()))
552 fatalIf(s.litLengths.init(s.br))
553 fatalIf(s.offsets.init(s.br))
554 fatalIf(s.matchLengths.init(s.br))
555 s.literals = lits
556 if len(s.out) > 0 {
557 s.out = s.out[:0]
558 }
559 err := s.decodeSync(hist)
560 if err != nil {
561 b.Fatal(err)
562 }
563 b.SetBytes(int64(len(s.out)))
564 decoded += ref.n
565 }
566 b.ReportMetric(float64(decoded)/time.Since(t).Seconds(), "seq/s")
567 })
568 }
569}
570
571func testCreateZipReader(path string, tb testing.TB) *zip.Reader {
572 failOnError := func(err error) {

Callers

nothing calls this directly

Calls 10

parseMethod · 0.95
testCreateZipReaderFunction · 0.85
readDecodersFunction · 0.85
SkipMethod · 0.80
FatalMethod · 0.80
decodeSyncMethod · 0.80
BytesMethod · 0.65
OpenMethod · 0.45
ErrorMethod · 0.45
initMethod · 0.45

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…