From e1e2357a0b29622a1ce94030fbcbf27eb0eabfe8 Mon Sep 17 00:00:00 2001 From: Johnnybyzhang Date: Thu, 16 Jul 2026 16:00:53 +0800 Subject: [PATCH] perf(translator): avoid redundant gjson array parsing --- internal/translator/codex/claude/codex_claude_request.go | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/internal/translator/codex/claude/codex_claude_request.go b/internal/translator/codex/claude/codex_claude_request.go index 24125040..f99cc52e 100644 --- a/internal/translator/codex/claude/codex_claude_request.go +++ b/internal/translator/codex/claude/codex_claude_request.go @@ -46,12 +46,12 @@ func ConvertClaudeRequestToCodex(modelName string, inputRawJSON []byte, _ bool) rootResult := gjson.ParseBytes(rawJSON) toolNameMap := buildReverseMapFromClaudeOriginalToShort(rawJSON) template, _ = sjson.SetBytes(template, "model", modelName) - inputItems := make([][]byte, 0, len(rootResult.Get("messages").Array())+1) + inputItems := make([][]byte, 0, 16) // Process system messages and convert them to input content format. systemsResult := rootResult.Get("system") if systemsResult.Exists() { - contentItems := make([][]byte, 0, len(systemsResult.Array())) + contentItems := make([][]byte, 0, 2) appendSystemText := func(text string) { if text == "" || util.IsClaudeCodeAttributionSystemText(text) { @@ -100,7 +100,7 @@ func ConvertClaudeRequestToCodex(modelName string, inputRawJSON []byte, _ bool) } messageContentsResult := messageResult.Get("content") - contentItems := make([][]byte, 0, len(messageContentsResult.Array())) + contentItems := make([][]byte, 0, 4) flushMessage := func() { if len(contentItems) > 0 {