github.com/bdragon/dedup@v0.0.0-20210818002304-9848aed57509/dedup_bench_test.go (about)

     1  package dedup_test
     2  
     3  import (
     4  	"flag"
     5  	"os"
     6  	"testing"
     7  
     8  	"github.com/bdragon/dedup"
     9  )
    10  
    11  var (
    12  	dir = flag.String("dedup.dir", "", "The directory from which FilterDir should read.")
    13  )
    14  
    15  func TestMain(m *testing.M) {
    16  	flag.Parse()
    17  	os.Exit(m.Run())
    18  }
    19  
    20  func BenchmarkFilterDir(b *testing.B) {
    21  	if *dir == "" {
    22  		b.Fatal("-dedup.dir must be specified")
    23  	}
    24  
    25  	opts := new(dedup.Options)
    26  	opts.Recursive = true
    27  
    28  	sums, err := dedup.FilterDir(*dir, opts)
    29  	if err != nil {
    30  		b.Fatalf("unexpected error: %v\n", err)
    31  	}
    32  
    33  	result := sums.Stats()
    34  
    35  	b.Logf("Examined %d files (%d B) and found %d (%d B) duplicates.\n",
    36  		result.NumFiles, result.NumBytes, result.NumDupFiles, result.NumDupBytes)
    37  }
    38  
    39  func BenchmarkFilter(b *testing.B) {
    40  }