منصوبے کے بارے میں
py-spy ایک سامپلنگ پروفائلر ہے جسے Rust میں لکھا گیا ہے اور یہ انتہائی کم اوورہیڈ کے ساتھ Python پروگراموں کا تجزیہ کرنے کے لیے ڈیزائن کیا گیا ہے۔ چونکہ یہ ایک علیحدہ عمل (process) میں چلتا ہے اور ہدف پروگرام کی یادداشت کو براہ راست پڑھتا ہے، اس لیے یہ پروڈکشن ماحول میں استعمال کے لیے محفوظ ہے。
اہم صلاحیتیں:
- **غیر مداخلتی پروفائلنگ**: پروگرام کو دوبارہ شروع کیے بغیر یا سورس کوڈ میں تبدیلی کیے بغیر فنکشنز میں گزارے گئے وقت کی بصری تشکیل۔
- **تین بنیادی موڈز**:
- `record`: انٹریکٹو SVG فلیم گرافز یا speedscope فائلز جیسے فارمیٹس میں پروفائلز تیار کرتا ہے۔
- `top`: زیادہ تر وقت خرچ کرنے والے فنکشنز کا لائیو، اعلیٰ سطحی نظارہ فراہم کرتا ہے، جو Unix top کمانڈ سے مشابہت رکھتا ہے۔
- `dump`: ہر Python تھریڈ کے موجودہ کال اسٹیک کو ڈمپ کرتا ہے، جن میں اختیاری مقامی متغیرات بھی شامل ہیں۔
- **وسیع مطابقت**: Linux، OSX, Windows اور FreeBSD کی حمایت کرتا ہے، اور CPython ورژن 2.3-2.7 اور 3.3-3.14 کے ساتھ ہم آہنگ ہے۔
- **جدید خصوصیات**:
- مقامی C/C++ یا Cython ایکسٹینشنز کے پروفائلنگ کی حمایت۔
- سبسڈپروسیسز (جیسے multiprocessing یا gunicorn ورکر پولز) کے پروفائلنگ کی صلاحیت۔
- GIL (Global Interpreter Lock) کی تلاش تاکہ وہ تھریڈز فلٹر کی جا سکیں جو قفل کو برقرار رکھے ہوئے ہیں۔
- غیر بلاکنگ موڈ تاکہ ہدف پروسیس کو بالکل روکا نہ جائے۔
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.