پایتون راحت و روان است، اکثر کسانی که از این زبان استفاده می کنند می دانند که این زبان نسبتاً کند است. دستورات برای کار با پردازنده بیشتر کندتر از C ،Java یا JavaScript هستند.

 
چندین پروژه با کنار گذاشتن همه چیزهای خوب پایتون، در عوض تصمیم گرفته اند عملکرد آن را از داخل به بیرون افزایش دهند.
اگر می خواهید پایتون با همان سخت افزار سریعتر اجرا شود، دو گزینه اساسی دارید که هرکدام دارای یک اشکال هستند:
1- شما می توانید جایگزینی برای اجراکننده پیش فرض استفاده شده توسط زبان (پیاده سازی CPython) ایجاد كنید – یك اقدام مهم، اما نتیجه آن جایگزینی کاهش یافته برای CPython خواهد بود.
2- برای استفاده از برخی بهینه سازی های سرعت، می توانید کد پایتون موجود را دوباره بنویسید، این به معنای کار بیشتر برای برنامه نویس است اما نیازی به تغییر در اجراکننده ندارد.
در اینجا شش راهی وجود دارد که می توان باعث افزایش عملکرد پایتون شد. هر کدام از یکی از این دو رویکرد یا ترکیبی از این دو روش استفاده می کنند.
PyPy: در میان نامزدهای جایگزینی برای PyPy ، CPython به راحتی مشهودترین است (به عنوان مثال Quora از آن در تولید استفاده می کند). همچنین بهترین شانس تبدیل شدن به حالت پیش فرض را دارد، زیرا بسیار با کد موجود Python سازگار است. برای برنامه های طولانی مدت مانند سرورها از اسکریپت های تک کاره بهتر است، زیرا مزایای عملکرد آن تا قبل از مدتی گرم شدن ثبت نمی شود. و قابلیت اجرای آن ردپای بسیار بزرگتری نسبت به CPython دارد.
پیستون: پروژه Pyston که در ابتدا توسط Dropbox ایجاد شد اما از زمان راه اندازی و بازنویسی مجدد آن، از JIT نیز برای سرعت بخشیدن به پایتون استفاده می کند. سرعت پیستون هنوز خیلی چشمگیر نیست – به طور متوسط ​​حدود 20٪ سریعتر – اما این پروژه هنوز در مراحل ابتدایی است.
Nuitka: برخی از تیم ها به جای اینکه اجراکننده پایتون را جایگزین کنند، آن را به طور کامل حذف می کنند و به دنبال راه هایی برای انتقال کد پایتون به زبانهایی هستند که با سرعت بالا بومی اجرا می شوند. مانند: Nuitka ، که پایتون را به کد ++C تبدیل می کند.
سایتون: Cython (پسوندهای C برای پایتون) یک مجموعه بزرگ از Python، نسخه ای از زبان است که در C کامپایل می شود و با کد ++C/C رابط می شود. نکته منفی این است که Cython از نحو خاص خود برای کار استفاده می کند، بنابراین انتقال کد موجود کاملاً خودکار نیست.
نومبا: Numba دو روش قبلی را با هم ترکیب می کند. مانند سایتون، بخشهایی از زبان را که بیشتر به آن نیاز دارند سرعت می بخشد (معمولاً ریاضیات متصل به پردازنده). مانند PyPy و Pyston، از گردآوری JIT استفاده می کند. در واقع، Numba با کتابخانه هایی که قبلاً با آنها آشنا شده است، مانند NumPy بهترین کار را می کند.
typed_python: پروژه typed_python، تلاشی نوپا و پشتیبانی شده توسط A Priori Investments، رویکردی متفاوت از هر یک از موارد بالا را در پیش می گیرد. مجموعه ای از ساختارهای داده ای کاملاً تایپ شده برای پایتون را فراهم می کند که در انواع نگهداری شده محدود شده است.
به عنوان مثال، می توان لیستی ایجاد کرد که فقط عدد صحیح را بپذیرد. با این کار، می توان کدی بسیار بهینه سازی شده تولید کرد که سریعتر اجرا شود و در صورت امکان از موازی کاری پردازنده استفاده کند. می توان بیشتر برنامه را در پایتون معمولی نوشت، سپس از typed_python در یک تابع خاص برای سرعت بخشیدن به عملکرد آن استفاده کرد.

بیشتر بدانید: https://lnkd.in/eKdU66Q
 

0 پاسخ

دیدگاه خود را ثبت کنید

تمایل دارید در گفتگوها شرکت کنید؟
در گفتگو ها شرکت کنید.

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *