MCPcopy Create free account
hub / github.com/coder/aibridge / BenchmarkOpenAI_CreateInterceptor_ChatCompletions

Function BenchmarkOpenAI_CreateInterceptor_ChatCompletions

provider/openai_test.go:366–402  ·  view source on GitHub ↗
(b *testing.B)

Source from the content-addressed store, hash-verified

364}
365
366func BenchmarkOpenAI_CreateInterceptor_ChatCompletions(b *testing.B) {
367 provider := NewOpenAI(config.OpenAI{
368 BaseURL: "https://api.openai.com/v1/",
369 Key: "test-key",
370 })
371
372 tracer := noop.NewTracerProvider().Tracer("test")
373 messagesPerRequest := 50
374 requestCount := 100
375 maxConcurrentRequests := 10
376 payloadSizes := []int{2000, 10000, 50000, 100000, 2000000}
377 for _, payloadSize := range payloadSizes {
378 for _, stream := range []bool{true, false} {
379 payload := generateChatCompletionsPayload(payloadSize, messagesPerRequest, stream)
380 name := fmt.Sprintf("stream=%t/payloadSize=%d/requests=%d", stream, payloadSize, requestCount)
381
382 b.Run(name, func(b *testing.B) {
383 b.ResetTimer()
384 for range b.N {
385 eg := errgroup.Group{}
386 eg.SetLimit(maxConcurrentRequests)
387 for i := 0; i < requestCount; i++ {
388 eg.Go(func() error {
389 req := httptest.NewRequest(http.MethodPost, routeChatCompletions, bytes.NewReader(payload))
390 w := httptest.NewRecorder()
391 _, err := provider.CreateInterceptor(w, req, tracer)
392 if err != nil {
393 return err
394 }
395 return nil
396 })
397 }
398 }
399 })
400 }
401 }
402}
403
404func BenchmarkOpenAI_CreateInterceptor_Responses(b *testing.B) {
405 provider := NewOpenAI(config.OpenAI{

Callers

nothing calls this directly

Calls 4

CreateInterceptorMethod · 0.95
NewOpenAIFunction · 0.85
GoMethod · 0.80

Tested by

no test coverage detected