Shed vel is 'n eksperimentele Python-tot-C ++ samesteller. Werp vel aanvaar suiwer Python programme, en genereer new C ++ kode. Dit beteken dat, in kombinasie met 'n C ++ samesteller, dit maak voorsiening vir die vertaling van Python programme in hoogs doeltreffende masjien taal. Vir 'n stel van 16 nie-triviale toets programme, metings toon 'n tipiese speedup van 2-40 oor Psyco, sowat 12 op die gemiddelde, en 2-220 oor CPython, sowat 45 gemiddeld (sien Afdeling 5 van my Magistertesis op die regte ). Werp vel uitgange ook geannoteerde bronkode.
Die hoë prestasie en elegante benadering van Shed Skin (dit is net 6000 lyne!) Kom teen 'n koste. Eerstens, is dit tans net aanvaar programme wat staties getik. Dit beteken eenvoudig dat veranderlikes slegs ooit kan 'n enkele tipe. So bv a = 1; a = '1' is nie toegelaat nie. Van die kursus, kan 'n enkele tipe abstrakte of generiese (soos in C ++), sodat bv a = A (); a = B (), waar A en B het 'n gemeenskaplike basis klas, word toegelaat nie.
Tweede, Python programme kan nie tans vrylik gebruik die Python standaard biblioteek. Tog is 'n paar algemene invoer ondersteun (sien * _. Py), en vele ander kan maklik bygevoeg word. Die probleem is 'n praktiese een, want in teorie is dit moontlik bindings vir die meeste biblioteek modules te skep. 'N eenvoudige werk-rondom kan wees om slegs kritiese dele van 'n Python program saamstel, en kommunikeer met dit deur bv lêers en standaard in- en uitvoer. Op hierdie manier kan die "hoof" program gebruik om die volle Python dinamika en standaard biblioteek, en die hele program is in suiwer Python geskryf.
Werp vel is nog alfa sagteware, en daar is 'n paar ander klein, meestal tydelike, beperkings. Lees asseblief die beperkings afdeling noukeurig, voordat jy probeer om 'n program saam te stel. Die enigste ding wat ek vra in ruil vir die maak van die sagteware wat beskikbaar is onder die GPL, is dat jy stuur vir my 'n e-pos as jy 'n probleem ondervind, wat nie genoem onder hierdie beperkings. Dit is die vinnigste manier om te kry jou program ondersteun, aangesien ek gewoonlik probleme wat ek nie weet nie, moenie los nie. Let asseblief ook laat weet my as jy wil om my sekere biblioteek oproepe te implementeer
Wat is nuut in hierdie release:.
- scalability is weer baie verbeter.
- Die prestasie van lêer I / O en komplekse getalle is aansienlik verbeter.
- Drie nuwe modules word ondersteun.
- Ses nuwe voorbeeld programme is bygevoeg.
- Daar was baie ander bugfixes en verbeteringe.
Wat is nuut in die weergawe 0.8:
- Ondersteuning is bygevoeg vir die & quot; struct & quot; en & quot; array & quot; modules.
- Drie nuwe voorbeelde is bygevoeg, vir 'n totaal van 57.
- Die C64 voorbeeld is opgedateer, en is nou meer as 3000 lyne (sloccount).
- 'n opsie is bygevoeg uitsondering tracebacks te vertoon (shedskin -x).
- Baie foute is vasgestel.
Wat is nuut in die weergawe 0.1:.
- Verbeterde ondersteuning vir 'os' (UNIX)
- Die byvoeging van 'n JPEG-dekodeerder (1200 lyne) en 'n paar ander programme aan die stel van 'n voorbeeld programme. Uitbreiding module fixes.
- Verbeterde samesteller vlae onder OS X.
- 'n belangrike tipe afleiding fix.
- Verbeterde veranderlike oorlading.
- Casting verbeterings.
- Oplossing vir setslice en delslice hoek gevalle.
- xrange gee 'n xrange voorwerp, nie Iterator.
- Daar is verskeie klein bugfixes.
Wat is nuut in die weergawe 0.0.30:.
- Gebruiker-gedefinieerde klas ondersteuning in uitbreiding modules
- Baie vinnig stel implementering (FFAO).
- komplekse getal ondersteuning.
- Baie string opmaak verbeterings.
- Geen kaarte te null plaas van 0, en afdrukke as 'Geen'.
- re.match_object.group aanvaar verskeie argumente.
- Casting verbeterings.
- erfenis van ingeboude anders as Uitsondering uitsonderings.
- Hashing Geen moet nou werk.
- 'n belangrike tipe afleiding fix, en baie ander bugfixes.
Wat is nuut in die weergawe 0.0.29:.
- Datum tyd en ConfigParser ondersteuning
- staticmethod en eiendom ontwerpers.
- FreeBSD, OpenSolaris, en 64-bis ondersteuning.
- GCC 4.3 fixes.
- Ondersteuning vir kartering sleutels ('% (sleutel) x ..'% some_dict).
- Verbeterings aan die invoer meganisme. __init__ is veel minder van 'n spesiale geval nou.
- Baie fixes vir die roeping voorouer metodes (bv Ouer .__ init __).
- Alle voorbeeld programme nou stel as uitbreiding modules.
- Daar is baie bugfixes.
Kommentaar nie gevind