openai_content_session_seed_benchmark_test.go 1.1 KB

1234567891011121314151617181920212223242526272829
  1. package service
  2. import (
  3. "strings"
  4. "testing"
  5. )
  6. var benchmarkOpenAIContentSessionSeed string
  7. func BenchmarkDeriveOpenAIContentSessionSeedLargeBody(b *testing.B) {
  8. largeHistory := strings.Repeat("payload", 1<<17)
  9. tests := []struct {
  10. name string
  11. body []byte
  12. }{
  13. {name: "ChatCompletions", body: []byte(`{"model":"gpt-5.4","tools":[{"type":"function","function":{"name":"lookup"}}],"messages":[{"role":"system","content":"Be concise."},{"role":"user","content":"Hello"},{"role":"assistant","content":"` + largeHistory + `"},{"role":"user","content":"Follow-up"}]}`)},
  14. {name: "Responses", body: []byte(`{"model":"gpt-5.4","instructions":"Be concise.","tools":[{"type":"function","name":"lookup"}],"input":[{"role":"system","content":"System prompt"},{"role":"user","content":"Hello"},{"role":"assistant","content":"` + largeHistory + `"}]}`)},
  15. }
  16. for _, test := range tests {
  17. b.Run(test.name, func(b *testing.B) {
  18. b.ReportAllocs()
  19. b.SetBytes(int64(len(test.body)))
  20. for range b.N {
  21. benchmarkOpenAIContentSessionSeed = deriveOpenAIContentSessionSeed(test.body)
  22. }
  23. })
  24. }
  25. }