جستجو در تالارهای گفتگو
در حال نمایش نتایج برای برچسب های 'just-in-time compilation'.
1 نتیجه پیدا شد
-
دلیل استفاده از پایتون پایتون یک زبان برنامه نویسی قدرتمند، ساده و راحت است که با استفاده از اون می تونید به جای سینتکس زبان یا مسائل دیگر، روی ایده اصلیتون تمرکز کنید. مشکل پایتون اما مشکل بزرگ پایتون این است که برنامه های که با پایتون نوشته می شوند، بسیار از زبان های کامپایلی مانند C یا C++ کندتر اجرا می شوند. و اگر کسی بخواهد بعد از پیاده سازی ایده اش در پایتون اون برنامه رو سریع کنه باید اون رو با یک زبان دیگه مثل C دوباره از اول بنویسه. راه حل: PyPy خوشبختانه یک جایگزین برای پایتون وجود داره به نام PyPy که با اون میتونید دقیقا همون کد پایتون رو با سرعتی مانند زبان برنامه نویسی C اجرا کنید! برای اینکه سرعت PyPy رو تست کنم، یک برنامه که اعداد ۱ تا ۱۰۰ میلیون را با هم جمع کنه با زبان پایتون و C نوشتم. برنامه رو اول با پایتون اجرا کردم در سیستم من 9.6 ثانیه طول کشید. بعد دقیقا همون برنامه رو بدون هیچ تغییری با PyPy اجرا کردم، نتیجه باورنکردنی بود و برنامه با سرعت بالایی در 27.9 صدم ثانیه اجرا شد! برنامه C هم تقریبا مشابه PyPy در 27.8 صدم ثانیه اجرا شد. آقای 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 از آن استفاده می کند چگونه است؟ در کامپایل درجا، هر قسمت از کد قبل از اجرایش کامپایل می شود. یعنی نه مانند مفسر خط به خط کد را اجرا می کند. و نه مانند کامپایل جلوتر از زمان تمام برنامه را اول کار کامپایل می کند. کامپایل کردن درجا، ترکیبی از مفسر و کامپایل جلوتر از زمان است.
-
- compilation methods
- پایتون
-
(و 16 مورد دیگر)
برچسب زده شده با :
- compilation methods
- پایتون
- program execution
- pypy
- run python code as fast as c
- معرفی pypy
- python
- just-in-time compilation
- jit compilation
- اجرای برنامه پایتون با سرعتی شبیه به c
- jit
- compilation
- run python code very fast
- dynamic translation
- ahead of time compilation
- aot compilation
- runtime compilation
- pypy چیست