GitHub Copilot के साथ परफॉर्मेंस ऑप्टिमाइज़ेशन

GitHub Copilot के साथ Software Development

Thalia Barrera

AI Engineering Curriculum Manager, DataCamp

The silent slowdown

 

nanobanana: half: एक विभाजित चित्रण: एक ओर तेज, उत्तरदायी ऐप एक स्मूद रॉकेट लॉन्च के रूप में; दूसरी ओर धीमा, घूमता लोडिंग इंडिकेटर, फ्लैट वेक्टर शैली

 

परफॉर्मेंस इश्यू:

  • unit tests में नहीं दिखते
  • तुरंत क्रैश नहीं कराते

 

📈 कोड सही दिखता है, पर scale नहीं होता

GitHub Copilot के साथ Software Development

A bottleneck in the wild

 

def find_common(list1, list2):
    common = []
    for item in list1:
        for item2 in list2:
            if item == item2:
                common.append(item)
    return common

 

  • छोटे इनपुट पर कोड ठीक चलता है
  • 1 million items → 1 trillion comparisons
  • $O(n^2)$ algorithm!

 

❌ व्यस्त दिन पर production डाउन करा देता है

GitHub Copilot के साथ Software Development

[screencast]

GitHub Copilot के साथ Software Development

[screencast]

GitHub Copilot के साथ Software Development

Copilot को बताएँ कि क्या ऑप्टिमाइज़ करना है

nanobanana: half: एक परफॉर्मेंस डैशबोर्ड, स्पीडोमीटर डायल्स और मीट्रिक गेज के साथ, अलग-अलग ऑप्टिमाइज़ेशन संकेतक दिखाते हुए, साफ बैकग्राउंड पर फ्लैट वेक्टर इल्युस्ट्रेशन

 

  • Speed → faster algorithms, caching, batching
  • Memory → resource cleanup, streaming, generators
  • Both → full performance review
GitHub Copilot के साथ Software Development

काम के Performance prompts

 

Targeted optimization

#selection को परफॉर्मेंस के लिए ऑप्टिमाइज़ करें और time complexity घटाएँ

#selection में memory leaks रिव्यू करें

 

Codebase-wide scan

@workspace large collections पर nested loops वाले functions ढूँढें

GitHub Copilot के साथ Software Development

[screencast]

GitHub Copilot के साथ Software Development

[screencast]

GitHub Copilot के साथ Software Development

हर सुझाव में परफॉर्मेंस बेक करें

 

.github/copilot-instructions.md

## Performance standards
- Prefer set or dict lookups over nested loops
- Use context managers for files, connections, and sockets
- Avoid loading entire datasets into memory, use generators or streaming

कोड में performance bottlenecks लिखे जाने से रोकता है

GitHub Copilot के साथ Software Development

अभ्यास करते हैं!

GitHub Copilot के साथ Software Development

Preparing Video For Download...