tgoop.com/pyHints/288
Create:
Last Update:
Last Update:
دستور run چندتا option هم داره که هرکدوم توی شرایط خاص استفاده میشه :
memray run --native <my-script>.py
این حالت برای وقتایی هست که میخواید اثبات کنید
numpy, pandas , ... هستند که دارند ازین میزان رم استفاده میکنند یا اینکه میخواهید بین توابع مختلفی که پیکجها ارائه میدهند مقایسه انجام بدید.گرفتن ریپورت
html روی این حالت میتونه طولانی باشه (جزو حالاتی هست که هم bin هم html بهتره روی یک سیستم خروجی گرفته بشه)memray run --trace-python-allocators <my-script>.py
بجای گزارشات کلی که توی تغییر سایز
memory pool گرفته میشه به ازای ایجاد و از بین رفتن هر آبجکت براتون گزارش مموری میده که باز هم خروجی خیلی کندتری خواهد داشت؛ و البته اطلاعات بسیار بیشتر. memray run --follow-fork <my-script>.py
همونطور که از اسمش پیداس میگه اگر از
parent process فورک گرفته شد وضعیت مموری اون child process رو هم توی ریپورت بیار.از بین ۳ تا آپشن بالا توی این مدت شخصا فقط از
native استفاده کردم چندبار (باقی موارد رو نیاز نداشتم)اما دوتا آپشن دوست داشتنی دیگه هم وجود داره :
memray run --live <my-script>.py
همیشه بعد از اینکه دستور
run رو اجرا کردم (ذخیره بشه) و بعد گزارش html رو آماده کردم؛ تا وقتی دارم روی memory optimization کار میکنم تنها دائما از live option استفاده میکنم و ... رو بهم میده (برای
PID, Thread, Samples, Duration, Max heap size, current heap size
current heap size) چون توی حالت لایو سریع تغییر میکنه از استفاده میکنم توی جایی که مشکوک هستم به میزان مصرف مموری و اینجوری ی پنجره ۱۰ ثانیهای برای خودم باز میکنم تا دقیق بررسی کنم توی رم چه اتفاقی داره رخ میده.
time.sleep(10)
memray run --live-remote <my-script>.py
هم همین کار رو میکنه اما گزارشات رو روی یک
port خاص میفرسته (بازم من ازش استفاده نکردم)memray run --live --native <my-script>.py
پر استفادهترین حالت بعد از
live option برای من استفاده ترکیبی از live و native هست (البته که حوصله آدم سر میره بعضی وقتها تا گزارشش آماده بشه)حتما برای کاستومایز کردن خروجیها و بررسی دقیقتر داکیومنتش رو نگاه کنید (سعی کردم مهمترین مواردی که شخصا استفاده میکنم رو بگم فقط).
BY Python Hints

Share with your friend now:
tgoop.com/pyHints/288
