Shed Skin egy kísérleti Python-to-C ++ fordító. Shed Skin elfogadja tiszta Python programok, és amely előállítja optimalizált C ++ kódot. Ez azt jelenti, hogy együtt egy C ++ fordító, lehetővé teszi a fordítást Python programokat nagyon hatékony gépi nyelv. Egy sor 16 nem triviális tesztprogramok, mérések azt mutatják, tipikus gyorsulása 2-40 fölött Psyco, mintegy 12 átlagosan, és 2-220 több mint CPython, mintegy 45 átlaga (lásd 5. diplomamunkám jobb ). Shed Skin is kiadja jegyzetekkel ellátott forráskódot.
A nagy teljesítményű és elegáns megközelítése Shed Skin (ez csak 6000 sorokat!) Költségekkel jár. Először is, jelenleg csak elfogadja programok, amelyek statikusan típusos. Ez egyszerűen azt jelenti, hogy a változók mindig csak egyetlen típus. Így például a a = 1; a = '1' nem megengedett. Természetesen, egy típus lehet absztrakt vagy általános (mint a C ++), úgy, hogy pl a = A (); A = B (), ahol A és B van egy közös alap osztály, megengedett.
Másodszor, Python programok jelenleg nem szabad használni a Python standard könyvtár. Azonban néhány közös import támogatott (lásd * _. Py), és még sokan mások is egyszerűen bővíthető. A probléma egy gyakorlati, mivel elméletileg lehetséges, hogy hozzon létre kötések a legtöbb könyvtár modulok. Egy egyszerű munka körül lehet, hogy csak fordítsd kritikus részei a Python programot, és közli vele a pl fájlokat és a szabványos be- és kimenet. Ily módon a "fő" program használja a teljes Python dinamika és standard könyvtár, valamint az egész program írt tiszta Python.
Fészer bőr még mindig alfa szoftvert, és van néhány más kisebb, többnyire átmeneti, korlátai. Kérjük, olvassa el a Korlátozások részt figyelmesen, mielőtt megpróbálja lefordítani a programot. Az egyetlen dolog, amit kérek cserébe azért, hogy a szoftver a GPL alatt, az, hogy küldjön nekem egy e-mailt, ha probléma merül fel, amely nem szerepel többek között ezeket a korlátozásokat. Ez a leggyorsabb módja annak, hogy kapok a támogatott program, mert én általában nem megoldani a problémákat nem tudom kb. Kérjük, tudassa velem, ha szeretnétek megvalósítani bizonyos függvények használatához.
Mi az új ebben a kiadásban:
- skálázhatóság ismét jelentősen javult.
- Performance fájl I / O és a komplex számok nagymértékben javult.
- Három új modulok támogatottak.
- Hat új mintaprogramok adunk hozzá.
- Sok más hibajavításokat és fejlesztéseket.
Mi az új a 0.8 verzió:
- Támogatás adtunk a & quot; struct & quot; és a & quot; array & quot; modulok.
- Három új példákat adtunk, összesen 57.
- A C64 például frissítették, és ma már több mint 3000 sor (sloccount).
- Az egyik lehetőség adtunk megjelenítéséhez kivételével tracebacks (shedskin -x).
- Sok hibák kerültek rögzítésre.
Mi az új a 0.1 verzió:
- Továbbfejlesztett támogatás "os" (UNIX).
- A túl JPEG dekóder (1200 sor) és néhány más programok halmaza például programok. Kiegészítő modul javítások.
- Továbbfejlesztett fordító zászlók alatt OS X.
- Egy fontos típusú következtető fix.
- Továbbfejlesztett változó túlterheléstől.
- Casting fejlesztéseket.
- javítások setslice és delslice sarokban esetek.
- xrange tér vissza xrange tárgy, nem bejáró.
- Számos apróbb hibajavításokat.
Mi az új verzióban 0.0.30:
- A felhasználó által definiált osztály támogatást modulokhoz.
- Nagyon gyors set végrehajtása (FFAO).
- Komplex több támogatást.
- Sok szöveg formázását fejlesztéseket.
- Nincs térképek NULL helyett 0, és kiírja a "None".
- re.match_object.group elfogadja több érvet.
- Casting fejlesztéseket.
- öröksége builtin kívül más kivételek Kivétel.
- Hashelés Nincs működnie kell teremteni.
- Egy fontos következtetés típusú fix, és sok más hibajavítás.
Mi az új verzióban 0.0.29:
- dátumidőpont és ConfigParser támogatást.
- staticmethod és a tulajdon lakberendezők.
- FreeBSD, OpenSolaris, és 64-bites támogatást.
- GCC 4.3 javítások.
- Support for mapping kulcsok ("% (key) x .. '% some_dict).
- Fejlesztések a behozatali mechanizmus. __init__ sokkal kevésbé különleges helyzet most.
- Sok javítások hívta őse módszerek (pl Parent .__ init __).
- Minden például programok lefordíthatjuk, mint modulokhoz.
- Sok hibajavítás.
Hozzászólás nem található