python-performance-optimization
تحسين أداء كود بايثون والقياس
متاح أيضًا من: ActiveInferenceInstitute,wshobson
كود بايثون البطيء يهدر الموارد ويحبط المستخدمين. توفر هذه المهارة تقنيات قياس وتحسين منهجية لتحديد الاختناقات وتحسين الأداء.
تنزيل ZIP المهارة
رفع في Claude
اذهب إلى Settings → Capabilities → Skills → Upload skill
فعّل وابدأ الاستخدام
اختبرها
استخدام "python-performance-optimization". قياس دالة تعالج قائمة كبيرة
النتيجة المتوقعة:
تقرير توقيت يظهر أن process_data() استهلكت 2.3 ثانية (85% من الوقت الإجمالي)، مع 90% تقضى في حلقات متداخلة. التوصية: استبدل خوارزمية O(n²) ببحث في القاموس لأداء O(n).
استخدام "python-performance-optimization". تحليل نمط استخدام الذاكرة
النتيجة المتوقعة:
ملف الذاكرة يظهر تخصيص 500 ميجابايت في قاموس data_cache ينمو بلا حدود. التوصية: نفذ ذاكرة تخزين مؤقت LRU مع معامل maxsize أو استخدم WeakValueDictionary للتنظيف التلقائي.
التدقيق الأمني
آمنStatic analysis flagged 68 patterns but all are false positives. The backtick detections are markdown code formatting, not shell execution. Network and URL findings are educational examples using test endpoints. SQLite references are documentation examples. System reconnaissance patterns are legitimate profiling tool demonstrations. This is a documentation-only skill with no executable code or security risks.
درجة الجودة
ماذا يمكنك بناءه
تصحيح نقاط نهاية API البطيئة
قياس تطبيق ويب لتحديد استعلامات قاعدة البيانات البطيئة وتحسين أوقات الاستجابة.
تحسين أنابيب معالجة البيانات
تحليل استخدام الذاكرة ووقت التنفيذ لسير عمل ETL لتقليل استهلاك الموارد.
تحسين كفاءة الخوارزميات
قياس الكود الحسابي لتحديد الأنماط غير الفعالة وتطبيق التحسينات المناسبة.
جرّب هذه الموجهات
ساعدني في قياس هذه الدالة في بايثون لتحديد اختناقات الأداء. هذا هو الكود الخاص بي: [الصق الكود]. اعرض لي كيفية استخدام cProfile لقياس وقت التنفيذ والعثور على الدوال البطيئة.
تطبيق بايثون الخاص بي يستخدم ذاكرة متزايدة مع مرور الوقت. ساعدني في استخدام memory_profiler وtracemalloc لتحديد تسرب الذاكرة في هذا الكود: [الصق الكود]. اشرح ما يعنيه المخرج.
قمت بقياس الكود الخاص بي ووجدت هذه الاختناقات: [الصق مخرج القياس]. أوصي بتقنيات تحسين محددة واعرض أمثلة كود قبل/بعد لكل اقتراح.
دعني أرشدك خلال إعداد py-spy لقياس خدمة إنتاج بايثون قيد التشغيل بدون إيقافها. اشرح كيفية إنشاء رسوم بيانية شعاعية وتفسير النتائج لإيجاد المسارات النشطة.
أفضل الممارسات
- قم بالقياس دائماً قبل التحسين لتحديد الاختناقات الفعلية، وليست المفترضة
- استخدم هياكل البيانات المناسبة: القواميس للبحث، المجموعات لاختبارات العضوية، المولدات للتسلسلات الكبيرة
- خزن العمليات الحسابية المكلفة باستخدام functools.lru_cache وقم بتجميع عمليات I/O لتقليل نفقات استدعاءات النظام
تجنب
- تحسين الكود بدون بيانات قياس يؤدي إلى جهد ضائع على غير الاختناقات
- دمج السلاسل في حلقات باستخدام عامل + بدلاً من join() يسبب تعقيد زمني تربيعي
- تحميل ملفات أو مجموعات بيانات كاملة في الذاكرة عندما تكون المعالجة القائمة على التكرار كافية