معمولا وقتی که میخواید مموری پروفایل کنید باید ابزارتون سریع باشه که از سرعت برنامه کاسته نشه.
به همین دلیل سرعت هم اهمیت خیلی زیادی داره
به همین دلیل سرعت هم اهمیت خیلی زیادی داره
البته توی memory خیلی چنین فاکتور مهم نیست ولی باز واسه برنامه هایی با memory footprint سنگین سرعت خیلی پایین میاد و زمان بیشتری از شما میگیره
جدا از دو پروفایلر بالا خود پایتون هم یه پروفایلر داره به اسم cProfile که یه نوع CPU پروفایلره
اونم سریع هست (نه به سرعت scalene اما نزدیک)
اونم سریع هست (نه به سرعت scalene اما نزدیک)
دوست داشتید به داکیومنت خود پایتون هم میتونید سر بزنید گیگاچد ها🗿🗿🗿
https://docs.python.org/3/library/profile.html#module-cProfile
https://docs.python.org/3/library/profile.html#module-cProfile
Python documentation
The Python Profilers
Source code: Lib/profile.py and Lib/pstats.py Introduction to the profilers: cProfile and profile provide deterministic profiling of Python programs. A profile is a set of statistics that describes...
چند وقت پیش با telethon سر و کله زده بودم.
کلا type hinting داخلش داغون بود.
فایل های pyi نداشت واسه اینکه mypy بتونه بررسی کنه.
اما وقتی که فهمیدم فایل های pyi رو ساده میشه ساخت و اینکه type hinting رو میشه اصلاح کرد. کلا نظرم راجب مشکلات داینامیک بودن پایتون عوض شد.
حتی میشه با docstring هم اصلاح کرد تایپ هارو.
کلا type hinting داخلش داغون بود.
فایل های pyi نداشت واسه اینکه mypy بتونه بررسی کنه.
اما وقتی که فهمیدم فایل های pyi رو ساده میشه ساخت و اینکه type hinting رو میشه اصلاح کرد. کلا نظرم راجب مشکلات داینامیک بودن پایتون عوض شد.
حتی میشه با docstring هم اصلاح کرد تایپ هارو.
این ویدیو خوبی هست تا با فرمت pyi و نحوه کار آشنا بشید.
https://www.youtube.com/watch?v=3ajdzrx5NNk
https://www.youtube.com/watch?v=3ajdzrx5NNk
YouTube
Python Interface Definitions & Stub Files For Professional Development
Today we learn about Python interface definitions and stub files. We can use them to make our code more professional.
Code: https://github.com/NeuralNine/youtube-tutorials/tree/main/Python%20Interface%20Definitions
◾◾◾◾◾◾◾◾◾◾◾◾◾◾◾◾◾
📚 Programming Books…
Code: https://github.com/NeuralNine/youtube-tutorials/tree/main/Python%20Interface%20Definitions
◾◾◾◾◾◾◾◾◾◾◾◾◾◾◾◾◾
📚 Programming Books…
بان چند وقت پیش رلیز شد و کل اکوسیستم جاوا اسکریپت رو طوفانی کرد.
بهترین ابزارایه جاوا اسکریپت با بیشترین compatibility...
Time to throw node into the garbage can.
https://www.youtube.com/watch?v=BsnCpESUEqM
بهترین ابزارایه جاوا اسکریپت با بیشترین compatibility...
Time to throw node into the garbage can.
https://www.youtube.com/watch?v=BsnCpESUEqM
YouTube
Bun 1.0 is here
Bun 1.0 is here!
Bun is an all-in-one JavaScript runtime & toolkit designed for speed, complete with a bundler, test runner, and Node.js-compatible package manager.
https://bun.sh/
Bun is an all-in-one JavaScript runtime & toolkit designed for speed, complete with a bundler, test runner, and Node.js-compatible package manager.
https://bun.sh/
مار نویس های عزیز
یکی از مهم ترین ماژول های زبان مورد علاقمون (مار) itertools هستش
اونقدر بدرد میخوره که پیشنهاد میکنم یاد بگیری.
پیش نیازش اینه که با generator ها و مفهوم iterator و iterable کار کرده باشید.
داکیومنت اصلیش هم گیگاچد ها میدونن کجاست 🗿🗿🗿
https://www.youtube.com/watch?v=0L3qFHiRC_I
یکی از مهم ترین ماژول های زبان مورد علاقمون (مار) itertools هستش
اونقدر بدرد میخوره که پیشنهاد میکنم یاد بگیری.
پیش نیازش اینه که با generator ها و مفهوم iterator و iterable کار کرده باشید.
داکیومنت اصلیش هم گیگاچد ها میدونن کجاست 🗿🗿🗿
https://www.youtube.com/watch?v=0L3qFHiRC_I
YouTube
Itertools is a MUST-KNOW Python module
If you're working with iterators, you'll probably need itertools at some point!
If you're working with iterators, you'll probably need itertools at some point!
If you're working with iterators, you'll probably need itertools at some point!
If you're working…
If you're working with iterators, you'll probably need itertools at some point!
If you're working with iterators, you'll probably need itertools at some point!
If you're working…
دیروز روی چیزی کار میکردم که مموری لیک داشت
اومدم با memray آنالیز و profile اش کردم و دیدم که منشا اش از خود پایتونه.
خیلی هم عجیب بود چون فکر میکردم همچنین چیزی رو خود پایتون هندل میکنه.
لایبرری concurrent.futures وقتی که ترد هارو میسازه نمیاد نخاله و نتایج های ترد های قبلی رو از بین ببره. لیمیتی هم نداره که باعث میشه مموری پر بشه
همچنین چیزی واسه سرور ها و VPS ها با محدودیت مموری و برنامه های با ترد بالا مشکل سازه. بنابراین یه نفر اومده و با یه دستکاری جزیی این مشکل رو رفع کرده
https://github.com/mowshon/bounded_pool_executor
اومدم با memray آنالیز و profile اش کردم و دیدم که منشا اش از خود پایتونه.
خیلی هم عجیب بود چون فکر میکردم همچنین چیزی رو خود پایتون هندل میکنه.
لایبرری concurrent.futures وقتی که ترد هارو میسازه نمیاد نخاله و نتایج های ترد های قبلی رو از بین ببره. لیمیتی هم نداره که باعث میشه مموری پر بشه
همچنین چیزی واسه سرور ها و VPS ها با محدودیت مموری و برنامه های با ترد بالا مشکل سازه. بنابراین یه نفر اومده و با یه دستکاری جزیی این مشکل رو رفع کرده
https://github.com/mowshon/bounded_pool_executor
Forwarded from جادی | Jadi
توی روز برنامه نویس، براتون دنیایی آرزو میکنم که همه ما توی نوشتن برنامههاش سهیم هستیم؛ دنیایی آزاد.
Forwarded from PhiloLearn | فیلولرن (ArshA.l.R)
گفتم منم بیام بهتون بگم که ثبت احوال رو هک کردن
هر لحظه داریم اوپن سورس تر از لحظه ی قبل میشیم🙂
@PhiloLearn
هر لحظه داریم اوپن سورس تر از لحظه ی قبل میشیم🙂
@PhiloLearn