Shed Skin عبارة عن جهاز نقل ، يمكنه ترجمة برامج Python 3 النقية ، ولكنها مكتوبة ضمنيًا إلى Python 3 إلى C ++ الأمثل. يمكن أن يولد برامج مستقلة أو وحدات تمديد يمكن استيرادها واستخدامها في برامج Python الأكبر.
إلى جانب تقييد الكتابة ، لا يمكن للبرامج استخدام مكتبة Python القياسية بحرية (على الرغم من أن حوالي 25 وحدة شائعة ، مثل عشوائي و RE ، مدعومة حاليًا). أيضًا ، لا يتم دعم جميع ميزات Python ، مثل الوظائف المتداخلة والأرقام المتغيرة من الوسائط (انظر الوثائق للحصول على التفاصيل).
بالنسبة لمجموعة من 80 برنامجًا غير تافهة (عند أكثر من 25000 سطر في المجموع (SLOCCOUNT)) ، تُظهر القياسات تسريعًا نموذجيًا يتراوح بين 1-100 مرة عبر cpython.
قم بتجميع وتشغيل "Hello ، World!" (test.py) مثال ضمن Linux/OSX:
اختبار بناء Shedskin بناء/اختبار
تحت Windows:
Shedskin Build -اختبار كونان بناء/تصحيح/test.exe
يدعم Shed Skin فقط مجموعة فرعية مقيدة من Python ، لذلك لا ينبغي للمرء أن يتوقع تجميع برنامج معين دون أي تغييرات ، إن أمكن على الإطلاق. انظر الوثائق للحصول على نظرة عامة على القيود.
يعتمد Shed Skin على بعض مشاريع أخرى ، مثل جامع القمامة في Boehm. يرجى الاطلاع على الوثائق حول كيفية تثبيت هذه.
بعض توقيت مثال "غربال" Shed Skin (ن = 100000000) والعديد من تطبيقات/محسنات Python:
Cpython 3.10.6: 13.4 ثانية Cpython 3.11.0: 11.4 Nuitka 0.6.16: 11.4 Pypy 3.9.12: 5.8 Numba 0.56.4: 2.5 Shedskin 0.9.9: 1.9 Shedskin 0.9.9: 1.8 (باستخدام -nowrap -nobounds)
لاحظ أن Numba الافتراضي إلى int64 كنوع عدد صحيح ، في حين تخلص من التخلف عن الجلد إلى int32. الأداء متساوٍ عملياً عند استخدام Shedskin -طويل.
بعض لقطات الشاشة للبرامج على سبيل المثال:
(بيلوت)
(C64)
(PYCSG)
(Othello2)
(الموت)
يعرض هذا الفيديو الفرق الدراماتيكي في الأداء لمثال DOOM قبل وبعد التجميع
لقد ساهم الأشخاص التاليون في إلقاء تطوير الجلد:
شكيب ألريزا هاكان أردو براين بلايس بول بودي François boutines جاميل شريف جيمس كوفلان مارك ديوينج مارك دوفور أرتيم egorkine مايكل إلكينز مواتز إلاسري إنزو إربانو إرنستو فيرو سلفاتور فيرو FFAO فيكتور جارسيا لويس م. جونزاليس فهرزين هيماتي فولكيرت فان هايوسدن كاريل هايس همو يوهان كريستنسن كوسوكي دينيس دي ليو دوارتي فان ليندبرغ ديفيد ماريك دوغلاس ماكنيل أندي ميلر جيف ميلر داني ميلوسافلجيفيتش Joaquin Abian Monux جون ناجلي هاري باسانين برنت بيدرسن Joris van Rantwijk الشبكية بيير ماري دي رودات جيريمي روكيت مايك شريك siRnotappearingInthistutorial بول سوكوليفسكي توماس سبرا Joerg Stippa دان سترومبرج ديف تويد Jaroslaw Tworek توني فييجالينين يوري فيكوروفيتش بافيل فينوغرادوف جيسون يي ليو تشنهاي Joris van Zwieten