TGViewer
PyCoders (پایتون) PyCoders (پایتون) @python_rd · 4.1K subscribers
Post #2211 516
🔆 خیلی وقتا توی پروژه‌های جنگو یا حتی اسکریپت‌های معمولی، نیاز داری بدونی یه تابع یا یه تیکه کد چقدر زمان می‌بره تا اجرا بشه تا بتونی بهینه‌ش کنی. به جای استفاده از دستی گرفتن زمان با کتابخونه time، می‌تونی از یک دکوریتور (Decorator) ساده استفاده کنی که هر جا خواستی بذاریش و عملکرد کد رو بسنجی. این مدل کدنویسی خیلی تمیزتره و باعث میشه بدون تغییر دادن اصلِ منطقِ تابع، بتونی مانیتورینگ دقیق روی پرفورمنس برنامه‌ت داشته باشی و نقاط کند رو سریع پیدا کنی.

import time
import functools

def timer(func):
@functools.wraps(func)
def wrapper(*args, **kwargs):
start = time.perf_counter()
result = func(*args, **kwargs)
print(f"زمان اجرا: {time.perf_counter() - start:.4f} ثانیه")
return result
return wrapper

@timer
def heavy_task():
time.sleep(1)

heavy_task()

🐍 @python_rd
  • ❤ 1
More from @python_rd
  1. Oct 13, 2026کوییز پایتون 🔆 خروجی اجرای کد زیر چیست؟ t = (1, 2, [3, 4]) try: t[2] += [5] except TypeEr…
  2. Oct 13, 2026🔆 راز مکانیزم پیاده‌سازی و تغییر جهت NaN در الگوریتم مرتب‌سازی پایتون (Timsort) 🔹 باگ ری…
  3. Oct 13, 2026🔆 حذف تاریخی GIL از پایتون (Free-threaded Python) 🔹 یک رویداد تاریخی: حذف قفل مفسر (GIL)…
  4. Oct 11, 2026🔆 مدیریت تمیز منابع با Context Managerهای سفارشی (contextlib) 🔹 ساخت Context Managerها م…
  5. Oct 10, 2026🔆 چرا برای داده‌های حجیم نباید از return استفاده کنی؟ 🔹 وقتی یک تابع لیست بزرگی از داده‌…
  6. Oct 10, 2026🔆 خروجی این تکه کد چیه؟ def add_item(item, lst=[]): lst.append(item) return lst print(add…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →