رفتن به مطلب
انجمن تیم امنیتی گارد ایران

ارسال های توصیه شده

دلیل استفاده از پایتون

پایتون یک زبان برنامه نویسی قدرتمند، ساده و راحت است که با استفاده از اون می تونید به جای سینتکس زبان یا مسائل دیگر، روی ایده اصلیتون تمرکز کنید.

 

مشکل پایتون

اما مشکل بزرگ پایتون این است که برنامه های که با پایتون نوشته می شوند، بسیار از زبان های کامپایلی مانند C یا C++ کندتر اجرا می شوند.

و اگر کسی بخواهد بعد از پیاده سازی ایده اش در پایتون اون برنامه رو سریع کنه باید اون رو با یک زبان دیگه مثل C دوباره از اول بنویسه.

 

راه حل: PyPy

pypy-logo.jpg.3bff4859b6dab05e6d3a38e0dd04152a.jpg

خوشبختانه یک جایگزین برای پایتون وجود داره به نام PyPy که با اون میتونید دقیقا همون کد پایتون رو با سرعتی مانند زبان برنامه نویسی C اجرا کنید!

برای اینکه سرعت PyPy رو تست کنم، یک برنامه که اعداد ۱ تا ۱۰۰ میلیون را با هم جمع کنه با زبان پایتون و C نوشتم.

برنامه رو اول با پایتون اجرا کردم در سیستم من 9.6 ثانیه طول کشید.

بعد دقیقا همون برنامه رو بدون هیچ تغییری با PyPy اجرا کردم، نتیجه باورنکردنی بود و برنامه با سرعت بالایی در 27.9 صدم ثانیه اجرا شد!

برنامه C هم تقریبا مشابه PyPy در 27.8 صدم ثانیه اجرا شد.

image.png.69421775e80b0b4212583718778fab6b.png

 

آقای Guido van Rossum (سازنده پایتون) درباره PyPy می گوید:

If you want your code to run faster, you should probably just use PyPy.

اگر شما می خواهید کدتان سریعتر اجرا شود، احتمالا باید فقط از PyPy استفاده کنید.

 

 

اما چرا PyPy اینقدر سریع است؟

راز سریع بودن PyPy، کامپایل درجا یا Just In Time Compilation (JIT Compilation) است.

 

کامپایل جلوتر از زمان (Ahead Of Time Compilation)

زبان های برنامه نویسی مثل سی، سی پلاس پلاس، سوئیفت، Rust و ... به روش کامپایل جلوتر از زمان یا Ahead Of Time Compilation (AOT Compilation) اجرا می شوند.

به این معنی است که شما کدی را در یکی از این زبان ها می نویسید و یک کامپایلر آن را به زبان ماشین تبدیل می کند و سپس کدی را که به زبان ماشین تبدیل شده اجرا میکند.

 

مفسر (Interpreter)

زبان هایی مثل پایتون، جاوااسکریپت و زبان های مشابه توسط یک مفسر (Interpreter) اجرا می شوند.

در این روش برنامه بدون هیچ تغییری وجود دارد و هر زمان که برنامه اجرا شود مفسر به کد، خط به خط نگاه می کند و آن را اجرا می کند.

 

کامپایل درجا (Just In Time Compilation) یا Run-Time Compilation

اما کامپایل درجا یا Just In Time Compilation که PyPy از آن استفاده می کند چگونه است؟

در کامپایل درجا، هر قسمت از کد قبل از اجرایش کامپایل می شود.

یعنی نه مانند مفسر خط به خط کد را اجرا می کند.

و نه مانند کامپایل جلوتر از زمان تمام برنامه را اول کار کامپایل می کند.

کامپایل کردن درجا، ترکیبی از مفسر و کامپایل جلوتر از زمان است.

 

لینک به دیدگاه
به اشتراک گذاری در سایت های دیگر

برای ارسال دیدگاه یک حساب کاربری ایجاد کنید یا وارد حساب خود شوید

برای اینکه بتوانید دیدگاهی ارسال کنید نیاز دارید که کاربر سایت شوید

ایجاد یک حساب کاربری

برای حساب کاربری جدید در سایت ما ثبت نام کنید. عضویت خیلی ساده است !

ثبت نام یک حساب کاربری جدید

ورود به حساب کاربری

دارای حساب کاربری هستید؟ از اینجا وارد شوید

ورود به حساب کاربری
 اشتراک گذاری

انجمن تیم امنیتی گارد ایران

تیم امنیتی گارد ایران یک گروه مستقل است که قوانین آن با خط مشی جمهوری اسلامی ایران مغایرت ندارد. تیم امنیتی گارد ایران از سال 1393 فعالیت خود را آغاز کرد و هدف این تیم تامین امنیت سایت ها و سرورهای ایرانی است. تیم ما همیشه برای دفاع از مرزهای سایبری سرزمین عزیزمان ایران آماده است.

شبکه های اجتماعی

نمادها

logo.aspx?id=56084&Code=ybjZVyBlXag5cNRv logo-samandehi

×
×
  • اضافه کردن...