در پوست پایتون به C ++ کامپایلر تجربی است. پوست می پذیرد برنامه های پایتون خالص، و تولید بهینه سازی C ++ کد. این به این معنی است که، در ترکیب با یک کامپایلر ++ C، آن را اجازه می دهد تا برای ترجمه برنامه پایتون به زبان ماشین بسیار کارآمد می باشد. برای مجموعه ای از 16 برنامه آزمون غیر بدیهی، اندازه گیری نشان می دهد افزایش سرعت معمولی از 2-40 بیش از Psyco، حدود 12 به طور متوسط، و 2-220 بیش از سیپایتون، حدود 45 به طور متوسط (نگاه کنید به بخش 5 از پایان نامه کارشناسی ارشد من در سمت راست ). پوست نیز خروجی کد منبع مشروح.
با کارایی بالا و رویکرد زیبا از پوست (تنها 6000 خط است!) در هزینه است. اول، آن را در حال حاضر تنها برنامه هایی که نوع دار استاتیک هستند می پذیرد. این به این معنا است که متغیرهای فقط می توانید همیشه یک نوع واحد. بنابراین به عنوان مثال = 1؛ = '1' است پذیر نیست. البته، یک نوع تک می تواند انتزاعی یا عمومی (به عنوان در C ++)، به طوری که به عنوان مثال = ()؛ = B ()، که در آن A و B یک کلاس پایه مشترک، مجاز است.
دوم، برنامه های پایتون نمی تواند در حال حاضر آزادانه از کتابخانه استاندارد پایتون استفاده کنید. با این حال، برخی از واردات مشترک پشتیبانی می شوند (PY ببینید * _.)، و بسیاری دیگر می تواند به راحتی اضافه شده است. مشکل یک عملی است، از سال در تئوری ممکن است برای ایجاد اتصالات برای اکثر ماژول های کتابخانه. کار در سراسر ساده می تواند به تنها بخش مهمی از یک برنامه پایتون کامپایل، و برقراری ارتباط با آن را از طریق مثال فایل ها و اطلاعات استاندارد و خروجی. به این ترتیب، برنامه اصلی 'می تواند کامل دینامیک پایتون و کتابخانه استاندارد استفاده کنید، و کل برنامه در پایتون خالص نوشته شده است.
پوست هنوز هم نرم افزار آلفا، و برخی از محدودیت های جزئی، عمدتا به طور موقت، دیگر وجود دارد. لطفا بخش محدودیت ها به دقت بخوانید، پیش از تلاش برای کامپایل برنامه. تنها چیزی که من در بازگشت برای ساخت نرم افزار تحت GPL در دسترس می پرسند، این است که شما برای من ایمیل بفرستید هنگامی که شما یک مشکل روبرو می شوند، که در میان این محدودیت ها فهرست نیست. این سریعترین راه برای گرفتن برنامه شما پشتیبانی، از آنجایی که من به طور معمول مشکلات من در مورد نمی دانم رفع نمی باشد. لطفا من می دانم که اگر شما می خواهم به من برای پیاده سازی توابع کتابخانه خاص نیز اجازه
چه جدید در این نسخه است:.
مقیاس پذیری دوباره تا حد زیادی بهبود یافته است.
عملکرد فایل I / O و اعداد مختلط تا حد زیادی بهبود یافته است.
سه ماژول جدید پشتیبانی می شوند.
شش برنامه های جدید به عنوان مثال اضافه شد.
بسیاری از رفع اشکالات و بهبود های دیگر وجود دارد.
جدید در نسخه 0.8 است:
به پشتیبانی از اضافه شد & quot؛ را ساختار و & quot؛ و & quot؛ آرایه ها & quot؛ ماژول.
سه نمونه جدید، در مجموع 57 اضافه شد.
به عنوان مثال C64، به روز شده است و در حال حاضر بیش از 3،000 خطوط (sloccount).
گزینه ای برای نمایش tracebacks استثنا اضافه شد (shedskin -x).
بسیاری از اشکالات ثابت شد.
جدید در نسخه 0.1 است:
به بهینه سازی پشتیبانی از 'سیستم عامل' (یونیکس).
علاوه بر این از رسیور JPEG (1200 خطوط) و برخی از برنامه های دیگر به مجموعه ای از برنامه به عنوان مثال. رفع ماژول فرمت.
پرچم کامپایلر بهبود تحت سیستم عامل X.
مهم ثابت نوع استنتاج.
سربارگزاری متغیر بهبود یافته است.
ریخته گری بهبود.
رفع برای setslice و گوشه delslice موارد.
xrange یک شی xrange، تکرار نمی گرداند.
چندین رفع اشکالات جزئی وجود دارد.
جدید در نسخه 0.0.30 است:
در حمایت کلاس تعریف شده توسط کاربر در ماژول فرمت.
اجرای مجموعه ای بسیار سریع (FFAO).
پشتیبانی از شماره مجتمع.
بسیاری از پیشرفت های قالب بندی رشته.
هیچ نقشه به NULL به جای 0، و چاپ به عنوان 'هیچ'.
re.match_object.group استدلال های متعدد را می پذیرد.
ریخته گری بهبود.
ارث از موارد استثنا builtin دیگر از استثنا.
هش کردن هیچ باید در حال حاضر کار می کنند.
مهم ثابت نوع استنتاج، و بسیاری از رفع اشکالات دیگر.
جدید در نسخه 0.0.29 است:
در تاریخ ساعت و پشتیبانی ConfigParser.
staticmethod و اموال تزئین.
بورس، اوپنسولاریس، و پشتیبانی 64 بیتی.
شورای همکاری خلیج فارس 4.3 رفع.
پشتیبانی از کلید های نقشه برداری ('٪ (کلید) X ..'٪ some_dict).
ارتقاء به ساز و واردات. __init__ در حال حاضر بسیار کمتر از یک مورد خاص.
رفع بسیاری از برای فراخوانی روش جد (به عنوان مثال پدر و مادر .__ init__).
همه برنامه به عنوان مثال در حال حاضر به عنوان ماژول توسعه کامپایل.
هستند بسیاری از رفع اشکالات وجود دارد.
نظر یافت نشد