github.com/grahambrereton-form3/tilt@v0.10.18/internal/rty/layouts_benchmark_test.go (about)

     1  package rty
     2  
     3  import (
     4  	"testing"
     5  
     6  	"github.com/gdamore/tcell"
     7  	"github.com/stretchr/testify/assert"
     8  )
     9  
    10  func BenchmarkNestedFlexLayouts(b *testing.B) {
    11  
    12  	sc := tcell.NewSimulationScreen("")
    13  	err := sc.Init()
    14  	assert.NoError(b, err)
    15  	sc.SetSize(100, 100)
    16  
    17  	r := NewRTY(sc)
    18  
    19  	run := func() {
    20  
    21  		topF := NewFlexLayout(DirVert)
    22  		innerF := topF
    23  		for i := 0; i < 100; i++ {
    24  			newF := NewFlexLayout(DirHor)
    25  			innerF.Add(newF)
    26  			innerF = newF
    27  		}
    28  
    29  		innerF.Add(TextString("hello"))
    30  		err = r.Render(topF)
    31  		assert.NoError(b, err)
    32  	}
    33  	for i := 0; i < b.N; i++ {
    34  		run()
    35  	}
    36  }