TGViewer
| کانال توسعه‌دهندگان پایتون | | کانال توسعه‌دهندگان پایتون | @developixpython · 7.7K subscribers
Post #174 2.25K
در کد اول، برای پردازش یک فایل بزرگ کل محتوا با read().splitlines() یک‌باره در مموری لود شده است. این کار هم ریسک Memory Error را بالا می‌برد و هم برای فایل‌های خیلی بزرگ باعث افت شدید کارایی می‌شود. در کد دوم با استفاده از یک generator و iteration تنبل (lazy) هر خط به‌صورت stream خوانده می‌شود و فقط همان لحظه در مموری قرار می‌گیرد.

در مثال بالا به جای بارگذاری یک‌جای کل فایل، می‌توانید با الگوی generator و حلقه روی file object، مصرف مموری را به‌صورت چشم‌گیر کاهش دهید و در سناریوهای پردازش فایل‌های چندصد مگابایتی یا لاگ‌فایل‌های بسیار بزرگ، هم مقیاس‌پذیری برنامه را بهتر کنید و هم سرعت شروع پردازش را افزایش دهید.

اگر در پروژه‌های Python با داده‌های حجیم (مثلاً log processing، ETL ساده یا پردازش دیتاهای متنی) سروکار دارید، استفاده از این الگو به‌جای روش eager loading می‌تواند تفاوت جدی در performance و پایداری برنامه‌تان ایجاد کند.

🔖 #Python #پایتون

👤 Developix

💎 Channel: @DevelopixPython
  • ❤ 5
  • 👍 4
  • 🔥 1
More from @developixpython
  1. Sep 30, 2026💠 نسخه جدید کتابخانه FastAPI منتشر شده است 🔸 ارتقا از نسخه 0.141.1 به 0.142.2 🔖 #fastap…
  2. Sep 8, 2026آرگومان پیش‌فرض لیست؛ باگ خفن ولی بی‌سر‌و‌صدا 😅 خیلی‌ها (حتی حرفه‌ای‌ها) یه زمانی این سوت…
  3. Sep 6, 2026🔥 پروژه: مهارت‌های تحقیق آکادمیک با Claude Code اگر برای پروژه‌های پایتونی مقاله، مستندات…
  4. Aug 24, 2026خیلی وقت‌ها با باگ‌های عجیب روبه‌رو می‌شویم که فقط به خاطر یک فاصلهٔ اضافی یا خط‌جدید ته ر…
  5. Aug 12, 2026🔥 پروژه: ‏DSPy فریم‌ورک برنامه‌نویسی LLM DSPy یه فریم‌ورک پایتونی از آزمایشگاه NLP اس…
  6. Aug 9, 2026مدیریت درست resource مثل فایل، connection دیتابیس یا lock، کلی باگ و Memory Leak بالقوه را…
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 →