Syntax | سینتکس
2.98K subscribers
423 photos
111 videos
35 files
392 links
Download Telegram
مفهوم Profiling در Python

:فرآیند جمع آوری اطلاعات در مورد عملکرد برنامه شما اشاره دارد. این اطلاعات می تواند شامل موارد زیر باشد:

زمان صرف شده در هر تابع: این به شما کمک می کند تا ببینید کدام قسمت های کد شما بیشترین زمان را اشغال می کنند.
تعداد دفعات فراخوانی هر تابع: این به شما کمک می کند تا ببینید کدام قسمت های کد شما بیشتر استفاده می شوند.
حافظه استفاده شده توسط هر تابع: ا ین به شما کمک می کند تا ببینید کدام قسمت های کد شما بیشترین حافظه را اشغال می کنند.
با استفاده از profiling، می توانید قسمت های کند و ناکارآمد کد خود را شناسایی کرده و آنها را بهینه سازی کنید. این می تواند به طور قابل توجهی سرعت برنامه شما را افزایش دهد.

ابزارهای Profiling در Python

چندین ابزار profiling مختلف برای Python وجود دارد. برخی از محبوب ترین ابزارها عبارتند از:

cProfile:
این یک ابزار profiling داخلی است که در کتابخانه استاندارد Python موجود است.
line_profiler:
این ابزار به شما امکان می دهد زمان صرف شده در هر خط کد را مشاهده کنید.
memory_profiler:
این ابزار به شما امکان می دهد حافظه استفاده شده توسط هر تابع را مشاهده کنید.
SnakeViz:
این ابزار یک رابط کاربری گرافیکی برای تجزیه و تحلیل داده های profiling ارائه می دهد.


نحوه استفاده از Profiling در Python

برای استفاده از profiling در Python، ابتدا باید یک ابزار profiling را انتخاب کنید. سپس، می توانید از ابزار profiling برای جمع آوری اطلاعات در مورد عملکرد برنامه خود استفاده کنید. در نهایت، می توانید از اطلاعات profiling برای شناسایی و بهینه سازی قسمت های کند و ناکارآمد کد خود استفاده کنید.

مثال:
import cProfile

def my_function():
for i in range(100000):
pass

cProfile.run('my_function()')


خروجی cProfile شامل اطلاعات زیر است:

نام تابع: نام تابعی که در حال اجرا است.
ncalls: تعداد دفعات فراخوانی تابع.
tottime: زمان کل صرف شده در تابع (بر حسب ثانیه).
percall: زمان متوسط صرف شده در هر بار فراخوانی تابع (بر حسب ثانیه).
cumtime: زمان کل صرف شده در تابع و تمام توابع تابعه آن (بر حسب ثانیه).

[𝙰𝚖𝚒𝚛𝚑𝚘𝚜𝚜𝚎𝚒𝚗]

#Python #Profiling

@Syntax_fa
👍142