پایتون یا جاوا: مقایسه عملکرد
در زبانهای برنامهنویسی، سرعت مفهوم ندارد؛ بلکه، «معناشناسی» (Semantics) در برنامهنویسی معتبر شناخته میشود. اگر جامعه برنامهنویسی، قصد مقایسه عملکرد دو یا چند زبان برنامهنویسی را داشته باشند، لازم است تا سرعت اجرا، حافظه مصرفی و قدرت پردازشی لازم برای پیادهسازی و اجرای توابع یا عملکردهای خاص در زبانهای برنامهنویسی مختلف سنجیده شود.
پروژهای تحت عنوان benchmarks-game، مقایسه جامعی از عملکرد دو زبان جاوا و پایتون انجام داده است. برای مشاهده قابلیتهای آزمایش شده و معیارهای استفاده برای این مقایسه، میتوانید به لینک [+] مراجعه کنید. در ادامه، خلاصهای از نتایج مقایسه عملکرد پایتون و جاوا ارائه شده است.
پایتون یا جاوا: مقایسه عملکرد با استفاده از قابلیت pidigits
| قابلیت | pidigits | |||
| زبان | زمان (ثانیه) | حافظه (کیلوبایت) | قدرت پردازشی (پردازنده 4 هستهای) | |
| پایتون نسخه 3 | 3.47 | 10,140 | 0% 1% 100% 0% | |
| جاوا | 3.07 | 39,680 | 99% 3% 0% 5% | |
پایتون یا جاوا: مقایسه عملکرد با استفاده از قابلیت regex-redux
| قابلیت | regex-redux | |||
| زبان | زمان (ثانیه) | حافظه (کیلوبایت) | قدرت پردازشی (پردازنده 4 هستهای) | |
| پایتون نسخه 3 | 17.64 | 444,704 | 51% 80% 27% 28% | |
| جاوا | 10.48 | 645,680 | 72% 87% 74% 68% | |
پایتون یا جاوا: مقایسه عملکرد با استفاده از قابلیت reverse-complement
| قابلیت | reverse-complement | |||
| زبان | زمان (ثانیه) | حافظه (کیلوبایت) | قدرت پردازشی (پردازنده 4 هستهای) | |
| پایتون نسخه 3 | 18.59 | 1,007,292 | 22% 29% 59% 21% | |
| جاوا | 3.27 | 740,524 | 44% 57% 84% 43% | |
پایتون یا جاوا: مقایسه عملکرد با استفاده از قابلیت binary-trees
| قابلیت | binary-trees | |||
| زبان | زمان (ثانیه) | حافظه (کیلوبایت) | قدرت پردازشی (پردازنده 4 هستهای) | |
| پایتون نسخه 3 | 81.03 | 451,324 | 95% 87% 86% 88% | |
| جاوا | 8.28 | 907,060 | 86% 90% 80% 77% | |
پایتون یا جاوا: مقایسه عملکرد با استفاده از قابلیت n-body
| قابلیت | n-body | |||
| زبان | زمان (ثانیه) | حافظه (کیلوبایت) | قدرت پردازشی (پردازنده 4 هستهای) | |
| پایتون نسخه 3 | 774.34 | 7,844 | 29% 0% 0% 72% | |
| جاوا | 21.94 | 35,588 | 100% 0% 1% 1% | |
توجه داشته باشید که عملکرد یک زبان برنامهنویسی تنها تابعی از سرعت اجرای برنامهها در آن زبان نیست؛ بلکه عواملی نظیر نحوه کد نویسی و پیادهسازی برنامه توسط برنامهنویسان و عملکرد کتابخانههای «شخص سوم» (Third party)، نقش مهمی در تعیین عملکرد یک زبان برنامهنویسی در هنگام اجرای کد دارد.
نکته قابل توجه در نتایج نمایش داده این است که زبان جاوا، زمان پردازشی کمتری برای اجرای کدها، نسبت به زبان پایتون میطلبد. همچنین، جاوا قدرت پردازشی و حافظه به مراتب کمتری نسبت به پایتون مصرف میکند.

به طور کلی، در صورتی که روی پروژه برنامهنویسی کار میکنید که سرعت بهینه در اجرای آن بسیار حیاتی است، بهتر است که از زبان جاوا استفاده کنید. دلیل این امر، وجود مفسر به جای کامپایلر در زبان پایتون است. در زبانهایی که از مفسر استفاده میکنند، نوع دادهای متغیرها در زمان اجرا مشخص میشود. در نتیجه، سرعت اجرای کدها، به ویژه برای پروژههای بزرگ، کندتر از زبانهایی خواهد بود که از کامپایلر استفاده میکنند.
- ۰ نظر
- ۲۱ آذر ۹۸ ، ۰۸:۱۵

نمودار زبانهای برنامهنویسی برتر در گیتهاب در پنج سال گذشته بیانگر افزایش محبوبیت پایتون است.
در ژوئیه، گیتهاب به کاربران خود در کشورهای تحریمشده پیشنهاد کرد از سرور تجاری گیتهاب (GitHub Enterprise Server) استفاده کنند که نسخهی پولی و یکبار خرید (on-premise) این وبسایت برای میزبانی کدها بهصورت شخصی است؛ اما این وبسایت دیگر نمیتواند مجوز استفاده از محصول خود را بهصورت قانونی به کشورهای تحریمشده بفروشد. کاربران ساکن در کشورهای تحریمشده همچنان میتوانند در مخازن عمومی مشارکت کنند. در بخش سؤالها و جوابهای مطرحشده (FAQ) در سایت گیتهاب، دربارهی تحریمهای تجاری ایالات متحدهی آمریکا آمده است: سرور تجاری گیتهاب را نمیتوان به هیچکدام از کشورهای مندرج در فهرست کشورهای گروه E:1 در الحاقیهی شمارهی 1 تا بخش 740 در قسمت EAR یا به منطقهی کریمه واقع در اوکراین فروخت. این فهرست درحالحاضر شامل کشورهای کوبا، ایران، کرهشمالی و سوریه است؛ اما احتمال تغییر آن وجود دارد. این محدودیتها موجب بروز مشکلاتی در مسیر رشد گیتهاب شده است. دراینزمینه، در گزارش Octoverse آمده است: برنامهنویسان ایرانی دومین گروه با بیشترین نرخ رشد در پروژههای متنباز ایجادشده در مخازن عمومی گیتهاب هستند.
