منصوبے کے بارے میں
میمری پایتھن کے لیے ایک میموری پروفائلر ہے جو پائتھن کوڈ، نیٹیو ایگزیکشن ماڈیولز (جیسے C/C++)، اور یہاں تک کہ پائتھن انٹرپریٹر خود میں میموری الجلوٹ کا ٹریک کرنے کے لیے ڈیزائن کیا گیا ہے۔ یہ ہر فنکشن کال کے لیے تفصیلی کال اسٹیک ٹریسنگ فراہم کرتا ہے، جس سے میموری استعمال کی درست تخصیص ممکن ہوتی ہے — نمونہ پروفسرز کے برعکس۔ یہ CLI اور لائبریری دونوں استعمال کی حمایت کرتا ہے، جو مختلف پروفائلنگ منظرناموں کے لیے لچکدار بناتا ہے۔
اہم صلاحیتیں:
- مکمل کال اسٹیک نمائندگی کے ساتھ تمام فنکشن کالز کا ٹریسنگ
- آپشنل --native فلیگ کے ذریعے پائتھن ایگزیکشنز (مثلاً numpy, pandas) میں نیٹیو C/C++ کوڈ کا پروفائلنگ
- متعدد رپورٹ اقسام: فلیم گراف (HTML)، خانہ جات، درخت نظارے، لائیو ٹرمینل مانیٹرنگ، خلاصے، اور اعدادوشمار
- پائتھن تھریڈز اور نیٹیو تھریڈز (جیسے C++ ایگزیکشنز سے) کی حمایت
- تیز کارکردگی: پروفائلنگ کے دوران کم سست روی؛ رفتار بمقابلہ تفصیل کے لیے نیٹیو ٹریکنگ کو ٹوگل کیا جا سکتا ہے
- خودکار میموری ٹیسٹنگ اور حدود کے لیے pytest-memray پلگ ان کے ذریعے pytest کے ساتھ انضمام
- لائیو موڈ: لمبے چلنے والے اسکرپٹس کے دوران حقیقی وقت کی میموری انسپیکشن کے لیے تعاملی TUI
- پروگرام ایبل API: مخصوص کوڈ بلاکس کا پروفائلنگ کرنے کے لیے memray.Tracker() سیکنگ مینیجر استعمال کریں
تنصیب کے لیے Python 3.9+ درکار ہے اور یہ pip یا conda کے ذریعے دستیاب ہے۔ لینکس x86/x64 اور macOS کے لیے بائنری wheels فراہم کی گئی ہیں؛ سورس بلڈز میں libunwind اور liblz4 جیسے سسٹم ڈیفنسز درکار ہیں۔ دستاویزات اور مثالیں https://bloomberg.github.io/memray/ پر میزبانی ہیں۔
میمری اعلیٰ میموری استعمال، میموری لیکس، اور الجلوٹ ہوٹ سپاٹس کی شناخت میں مدد دیتی ہے۔ یہ ونڈوز یا دیگر پلیٹ فارمز کی حمایت نہیں کرتی۔ منصوبہ Apache-2.0 لائسنسڈ ہے اور DCO سائن آف کے بعد کمیونٹی کی شراکت کی خیر مقدم کرتا ہے۔
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.