کتاب High Performance Python, 3rd Edition: Practical Performant Programming for Humans (پایتون پربازده، ویرایش سوم: برنامهنویسی عملی و پرسرعت برای انسانها) یک راهنمای جامع برای توسعهدهندگان پایتون است که به دنبال بهبود عملکرد و کارایی برنامههای خود هستند.
این کتاب با ارائه تکنیکها، ابزارها و استراتژیهای عملی، به خوانندگان کمک میکند تا گلوگاههای عملکرد را شناسایی کرده و با استفاده از رویکردهای مختلف مانند پروفایلینگ، بهینهسازی الگوریتمها و ساختارهای داده، استفاده از کتابخانههای کارآمد (مانند NumPy و Pandas)، برنامهنویسی همزمان و موازی (threading و multiprocessing)، و حتی استفاده از کامپایلرها و مترجمهای جایگزین، سرعت اجرای کد خود را به طور چشمگیری افزایش دهند.
ویرایش سوم کتاب High Performance Python، با بهروزرسانیها و پوشش مباحث جدید، همچنان یک منبع ارزشمند برای هر توسعهدهنده پایتونی است که به عملکرد برنامههای خود اهمیت میدهد.
در ادامه مقدمهای از کتاب High Performance Python را از زبان نویسنده شرح خواهیم داد.
مقدمهای بر کتاب High Performance Python:
پایتون آسان برای یادگیری است. احتمالاً شما اینجا هستید زیرا حالا که کدتان به درستی اجرا میشود، نیاز دارید که سریعتر اجرا شود. شما این واقعیت را دوست دارید که کدتان به راحتی قابل تغییر است و میتوانید به سرعت ایدهها را تکرار کنید. مصالحه بین توسعه آسان و اجرای به سرعت مورد نیاز من، یک پدیده به خوبی درک شده و اغلب مورد تأسف است. اما راه حلهایی وجود دارد.
برخی افراد فرآیندهای متوالی دارند که باید سریعتر اجرا شوند. برخی دیگر مشکلاتی دارند که میتوان از معماریهای چند هستهای، خوشهها یا واحدهای پردازش گرافیکی بهره برد. برخی به سیستمهای مقیاسپذیر نیاز دارند که بتوانند کم و بیش بر اساس مقتضیات و بودجه، بدون از دست دادن قابلیت اطمینان، پردازش کنند. برخی دیگر متوجه خواهند شد که تکنیکهای کدنویسی آنها، که اغلب از زبانهای دیگر قرض گرفته شدهاند، شاید به اندازه مثالهایی که از دیگران میبینند طبیعی نیستند.
در کتاب High Performance Python ما تمام این موضوعات را پوشش خواهیم داد و راهنماییهای عملی برای درک گلوگاهها و تولید راه حلهای سریعتر و مقیاسپذیرتر ارائه خواهیم کرد. ما همچنین برخی از داستانهای واقعی کسانی را که پیش از شما رفتهاند و سختیها را تحمل کردهاند تا شما مجبور نشوید، آوردهایم.
پایتون برای توسعه سریع، استقرار در محیط عملیاتی و سیستمهای مقیاسپذیر بسیار مناسب است. اکوسیستم پر از افرادی است که در تلاشند تا آن را به نفع شما مقیاسپذیر کنند و زمان بیشتری را برای تمرکز بر وظایف چالشبرانگیزتر در اطرافتان در اختیار شما قرار دهند.
کتاب High Performance Python برای کیست؟
شما به اندازه کافی از پایتون استفاده کردهاید که در مورد دلیل کند بودن برخی چیزها ایدهای داشته باشید و فناوریهایی مانند Cython، numpy و PyPy را به عنوان راه حلهای احتمالی شنیده باشید. ممکن است با زبانهای دیگری نیز برنامهنویسی کرده باشید و بنابراین میدانید که بیش از یک راه برای حل یک مشکل عملکردی وجود دارد.
اگرچه هدف اصلی این کتاب افرادی با مشکلات محدود به CPU است، اما ما به راه حلهای محدود به انتقال داده و حافظه نیز نگاهی میاندازیم. به طور معمول، این مشکلات توسط دانشمندان، مهندسان، تحلیلگران کمی و دانشگاهیان با آن مواجه میشوند.
ما همچنین به مشکلاتی که یک توسعهدهنده وب ممکن است با آن روبرو شود، از جمله جابجایی دادهها و استفاده از کامپایلرهای just-in-time (JIT) مانند PyPy و I/O ناهمزمان برای به دست آوردن سودهای عملکردی آسان، نگاهی میاندازیم.
ممکن است داشتن پیشینه در C (یا C++ یا شاید Java) مفید باشد، اما پیش نیاز نیست. رایجترین مفسر پایتون (CPython—استانداردی که معمولاً با تایپ python در خط فرمان دریافت میکنید) به زبان C نوشته شده است و بنابراین قلابها و کتابخانهها همگی ماشینآلات داخلی C را آشکار میکنند. تکنیکهای بسیار دیگری وجود دارد که ما پوشش میدهیم و هیچ دانشی از C را فرض نمیکنند.
همچنین ممکن است دانش سطح پایینتری از CPU، معماری حافظه و گذرگاههای داده داشته باشید، اما باز هم، این امر کاملاً ضروری نیست.
بیشتر بخوانید: کتاب Ultimate Python Libraries for Data Analysis and Visualization
کتاب High Performance Python برای چه کسانی نیست؟
این کتاب برای برنامهنویسان پایتون سطح متوسط تا پیشرفته در نظر گرفته شده است. برنامهنویسان مبتدی پایتون با انگیزه نیز ممکن است بتوانند آن را دنبال کنند، اما توصیه میکنیم که پایه محکمی در پایتون داشته باشند.
ما به بهینهسازی سیستمهای ذخیرهسازی نمیپردازیم. اگر گلوگاه SQL یا NoSQL دارید، این کتاب احتمالاً به شما کمک نخواهد کرد.
آنچه در کتاب High Performance Python خواهید آموخت:
نویسندگان این کتاب سالها در صنعت و دانشگاه با حجم زیادی از دادهها کار کردهاند، نیازی برای “من پاسخها را سریعتر میخواهم!” و نیاز به معماریهای مقیاسپذیر. ما سعی خواهیم کرد تجربیات سخت به دست آورده خود را منتقل کنیم تا شما را از اشتباهاتی که ما مرتکب شدهایم نجات دهیم.
در ابتدای هر فصل کتاب High Performance Python، سؤالاتی را فهرست خواهیم کرد که متن زیر باید به آنها پاسخ دهد. (اگر این کار را نکرد، به ما بگویید و ما آن را در ویرایش بعدی اصلاح خواهیم کرد!)
ما موضوعات زیر را پوشش میدهیم:
- پیشینه ماشینآلات یک کامپیوتر تا بدانید در پشت صحنه چه اتفاقی میافتد.
- لیستها و تاپلها—تفاوتهای معنایی و سرعت ظریف در این ساختارهای داده اساسی.
- دیکشنریها و مجموعهها—استراتژیهای تخصیص حافظه و الگوریتمهای دسترسی در این ساختارهای داده مهم.
- تکرارکنندهها—چگونه به روش پایتونیتر بنویسید و درهای جریانهای داده بینهایت را با استفاده از تکرار باز کنید.
- رویکردهای پایتون خالص—چگونه از پایتون و ماژولهای آن به طور مؤثر استفاده کنید.
- ماتریسها با numpy—چگونه از کتابخانه محبوب numpy مانند یک جانور استفاده کنید.
- کامپایل و محاسبات just-in-time—پردازش سریعتر با کامپایل کردن به کد ماشین، اطمینان حاصل کنید که توسط نتایج پروفایلینگ راهنمایی میشوید.
- همزمانی—روشهای انتقال کارآمد دادهها.
- چندپردازشی—روشهای مختلف استفاده از کتابخانه داخلی multiprocessing برای محاسبات موازی و به اشتراک گذاری کارآمد ماتریسهای numpy، و برخی از هزینهها و مزایای ارتباط بین فرآیندی (IPC).
- محاسبات خوشهای—تبدیل کد چندپردازشی خود برای اجرا بر روی یک خوشه محلی یا راه دور برای سیستمهای تحقیق و تولید.
- استفاده از RAM کمتر—رویکردهای حل مشکلات بزرگ بدون خرید یک کامپیوتر غولپیکر.
- درسهایی از میدان—درسهایی که در داستانهای واقعی کسانی که ضربهها را تحمل کردهاند تا شما مجبور نشوید، رمزگذاری شدهاند.
سرفصلهای کتاب High Performance Python:
- Foreword
- Preface
- 1. Understanding Performant Python
- 2. Profiling to Find Bottlenecks
- 3. Lists and Tuples
- 4. Dictionaries and Sets
- 5. Iterators and Generators
- 6. Matrix and Vector Computation
- 7. Pandas, Dask, and Polars
- 8. Compiling to C
- 9. Asynchronous I/O
- 10. The multiprocessing Module
- 11. Clusters and Job Queues
- 12. Using Less RAM
- 13. Lessons from the Field
- Index
- About the Authors
جهت دانلود کتاب High Performance Python میتوانید پس از پرداخت، دریافت کنید.
دیدگاهها
هیچ دیدگاهی برای این محصول نوشته نشده است.