github.com/tilt-dev/tilt@v0.33.15-0.20240515162809-0a22ed45d8a0/internal/k8s/entity_benchmark_test.go (about)

     1  package k8s
     2  
     3  import (
     4  	"testing"
     5  
     6  	"github.com/tilt-dev/tilt/internal/k8s/testyaml"
     7  	"github.com/tilt-dev/tilt/internal/yaml"
     8  )
     9  
    10  func BenchmarkParseUnparseSingle(b *testing.B) {
    11  	run := func() {
    12  		entities, err := ParseYAMLFromString(testyaml.PodYAML)
    13  		if err != nil {
    14  			b.Fatal(err)
    15  		}
    16  		_, err = SerializeSpecYAML(entities)
    17  		if err != nil {
    18  			b.Fatal(err)
    19  		}
    20  	}
    21  	for i := 0; i < b.N; i++ {
    22  		run()
    23  	}
    24  }
    25  
    26  func BenchmarkParseUnparseLonger(b *testing.B) {
    27  	bigYaml := makeBigYaml(25)
    28  	run := func() {
    29  		entities, err := ParseYAMLFromString(bigYaml)
    30  		if err != nil {
    31  			b.Fatal(err)
    32  		}
    33  		_, err = SerializeSpecYAML(entities)
    34  		if err != nil {
    35  			b.Fatal(err)
    36  		}
    37  	}
    38  	for i := 0; i < b.N; i++ {
    39  		run()
    40  	}
    41  }
    42  
    43  func BenchmarkParseUnparseLongest(b *testing.B) {
    44  	bigYaml := makeBigYaml(100)
    45  
    46  	run := func() {
    47  		entities, err := ParseYAMLFromString(bigYaml)
    48  		if err != nil {
    49  			b.Fatal(err)
    50  		}
    51  		_, err = SerializeSpecYAML(entities)
    52  		if err != nil {
    53  			b.Fatal(err)
    54  		}
    55  	}
    56  	for i := 0; i < b.N; i++ {
    57  		run()
    58  	}
    59  }
    60  
    61  func makeBigYaml(n int) string {
    62  	strs := make([]string, n)
    63  	for i := 0; i < n; i++ {
    64  		strs[i] = testyaml.PodYAML
    65  	}
    66  	return yaml.ConcatYAML(strs...)
    67  }