31 lines · 1019 B · Go
RawDownload
package helps import "testing" var (	benchmarkOpenAIContentChunk = []byte(`data: {"choices":[{"delta":{"content":"hello"}}]}`)	benchmarkOpenAITierChunk    = []byte(`data: {"service_tier":"default","choices":[]}`)	benchmarkOpenAIUsageChunk   = []byte(`data: {"usage":{"input_tokens":10,"output_tokens":20,"total_tokens":30}}`)) func BenchmarkStreamUsageBufferObserveOpenAIStreamContentChunk(b *testing.B) {	var buffer StreamUsageBuffer	buffer.ObserveOpenAIStream(benchmarkOpenAITierChunk)	b.ReportAllocs()	b.ResetTimer()	for index := 0; index < b.N; index++ {		buffer.ObserveOpenAIStream(benchmarkOpenAIContentChunk)	}} func BenchmarkStreamUsageBufferObserveOpenAIStream100Chunks(b *testing.B) {	b.ReportAllocs()	for index := 0; index < b.N; index++ {		var buffer StreamUsageBuffer		buffer.ObserveOpenAIStream(benchmarkOpenAITierChunk)		for chunk := 0; chunk < 98; chunk++ {			buffer.ObserveOpenAIStream(benchmarkOpenAIContentChunk)		}		buffer.ObserveOpenAIStream(benchmarkOpenAIUsageChunk)	}}