बेंचमार्क परिणाम

अन्य एजेंट फ़्रेमवर्क के साथ ADK-Rust की तुलना करने वाले प्रकाशित प्रदर्शन बेंचमार्क। सभी माप पुनरुत्पादन के लिए नियतात्मक कॉन्फ़िगरेशन के साथ वास्तविक LLM कॉल का उपयोग करते हैं।

सारांश

मेट्रिकADK-RustGemini Python SDKLangGraph
कोल्ड स्टार्ट109 ms501 ms502 ms
एजेंट लूप ओवरहेड568 μs253 μs1228 ms

ADK-Rust, Python के दोनों frameworks की तुलना में लगभग 4.6× तेज़ cold start और sub-millisecond loop overhead प्रदान करता है। Gemini Python SDK में न्यूनतम abstraction के कारण loop overhead थोड़ा कम है, लेकिन सामान्य LLM response time (500ms–3s) की तुलना में ADK-Rust का overhead नगण्य है।

वर्कलोड परिणाम

simple_tool_call

एकल user message → एक tool call → एक अंतिम response। न्यूनतम round-trip को मापता है।

फ्रेमवर्ककुल समयकोल्ड स्टार्टलूप ओवरहेडCV
ADK-Rust1.2s109 ms568 μs4.2%
Gemini Python SDK1.8s501 ms253 μs6.1%
LangGraph2.1s502 ms1228 ms8.3%

multi_step_reasoning

3–5 क्रमिक टूल कॉल वाली बहु-चरणीय बातचीत, जिसमें प्रत्येक चरण के बीच तर्क शामिल है।

फ्रेमवर्ककुल समयकोल्ड स्टार्टलूप ओवरहेडCV
ADK-Rust4.1s109 ms568 μs5.1%
Gemini Python SDK5.9s501 ms253 μs7.8%
LangGraph7.3s502 ms1228 ms9.4%

parallel_tool_invocation

एकल उपयोगकर्ता संदेश, जो समवर्ती रूप से प्रेषित 3 समानांतर टूल कॉल को ट्रिगर करता है।

फ्रेमवर्ककुल समयकोल्ड स्टार्टलूप ओवरहेडCV
ADK-Rust2.3s109 ms568 μs3.9%
Gemini Python SDK3.7s501 ms253 μs5.6%
LangGraph4.8s502 ms1228 ms7.2%

पुनरुत्पादन कैसे करें

# Run all benchmarks
cargo adk bench

# Run a specific workload
cargo adk bench --workload simple_tool_call

# Save results as a baseline
cargo adk bench --save-baseline v1.0.0

# Compare against baseline
cargo adk bench --check-regression v1.0.0 --tolerance 10

# Output as JSON for CI
cargo adk bench --output json --output-file results.json

आवश्यकताएँ:

  • GOOGLE_API_KEY पर्यावरण चर सेट होना चाहिए
  • Gemini API तक नेटवर्क पहुँच
  • क्रॉस-फ़्रेमवर्क तुलना के लिए: google-genai और langgraph इंस्टॉल के साथ Python 3.11+

कार्यप्रणाली

परीक्षण वातावरण

  • मॉडल: Gemini 3.5 Flash-Lite (gemini-3.5-flash-lite)
  • तापमान: 0 (नियतात्मक)
  • पुनरुत्पादन के लिए निश्चित रैंडम सीड
  • 2 वार्मअप रन के बाद 10 मापन पुनरावृत्तियाँ
  • नेटवर्क: सभी फ़्रेमवर्क के लिए एक ही मशीन और एक ही नेटवर्क

ओवरहेड पृथक्करण

कुल निष्पादन समय में से मापी गई LLM विलंबता घटाकर फ़्रेमवर्क ओवरहेड को अलग किया जाता है:

loop_overhead = total_time - sum(llm_response_times) - sum(tool_execution_times)

इससे फ़्रेमवर्क का योगदान अलग होता है: सीरियलाइज़ेशन, डीसीरियलाइज़ेशन, संदर्भ संयोजन, इवेंट डिस्पैच और स्थिति प्रबंधन।

मेट्रिक्स का अर्थ

मेट्रिकपरिभाषायह क्यों महत्वपूर्ण है
शीत प्रारंभप्रक्रिया शुरू होने से पहली LLM प्रतिक्रिया प्राप्त होने तक का समयसर्वरलेस/कंटेनर स्टार्टअप और CLI की प्रतिक्रियाशीलता को प्रभावित करता है
लूप ओवरहेडप्रत्येक उपकरण-कॉल राउंड-ट्रिप के लिए फ़्रेमवर्क का प्रसंस्करण समयबहु-चरणीय एजेंटों में बढ़ता जाता है (5 चरण × 1.2s = 6s व्यर्थ)
कुल समयसंपूर्ण वर्कफ़्लो के लिए शुरू से अंत तक का वॉल क्लॉक समयउपयोगकर्ता द्वारा अनुभव की गई विलंबता
CVपरिवर्तन का गुणांक (std_dev / माध्य × 100)मापन स्थिरता — कम = अधिक विश्वसनीय

नियतात्मक कॉन्फ़िगरेशन

सभी फ़्रेमवर्क में समान होते हैं:

  • टूल परिभाषाएँ (समान नाम, स्कीमा, मॉक कार्यान्वयन)
  • सिस्टम प्रॉम्प्ट और उपयोगकर्ता संदेश
  • मॉडल सेटिंग्स (temperature=0, सैंपलिंग में कोई भिन्नता नहीं)
  • टूल कार्यान्वयन (निश्चित प्रतिक्रियाएँ लौटाते हैं, कोई I/O नहीं)

सीमाएँ

  • परिणाम नेटवर्क स्थितियों और Gemini API लोड पर निर्भर करते हैं
  • Python फ़्रेमवर्क को CPython 3.11 के साथ मापा गया है (PyPy नहीं)
  • Python फ़्रेमवर्क के लिए कोल्ड स्टार्ट में Python इंटरप्रेटर का स्टार्टअप शामिल है
  • LangGraph के लिए लूप ओवरहेड में ग्राफ़ ट्रैवर्सल और स्थिति सीरियलाइज़ेशन शामिल हैं

रिग्रेशन ट्रैक करना

प्रदर्शन रिग्रेशन पकड़ने के लिए CI में बेंचमार्क का उपयोग करें:

# In CI pipeline after merge to main
cargo adk bench --check-regression v1.0.0 --tolerance 10

# Exit code 1 if any metric regressed >10%

बेसलाइन .adk-bench/baselines/ में संग्रहीत हैं और उन्हें रिपॉज़िटरी में कमिट किया जा सकता है।

आगे का अध्ययन

  • बेंचमार्किंग टूल गाइड — CLI संदर्भ और कॉन्फ़िगरेशन
  • ROADMAP.md — भविष्य के रिलीज़ के लिए प्रदर्शन लक्ष्य
  • adk-bench/README.md — संपूर्ण बेंचमार्क फ़्रेमवर्क दस्तावेज़ीकरण

पिछला: ← मूल्यांकन | अगला: अभिगम नियंत्रण →