Shed Skin

Software skärmdump:
Shed Skin
Mjukvaruinformation:
Version: 0.9.1
Ladda upp dagen: 15 Apr 15
Utvecklare: Mark Dufour
Licens: Gratis
Popularitet: 74

Rating: 3.7/5 (Total Votes: 3)

Shed Hud är en experimentell Python-till-C ++ kompilator. Shed Skin accepterar rena Python program, och genererar optimerad C ++ kod. Detta innebär att, i kombination med en C ++ kompilator, gör det för translation av Python program till högeffektiv maskin språk. För en uppsättning av 16 icke-triviala testprogram, mätningar visar en typisk uppsnabbning av 2-40 över Psyco, cirka 12 i genomsnitt och 2-220 över CPython, cirka 45 i genomsnitt (se avsnitt 5 av min examensarbete på höger ). Shed Skin matar också kommenterad källkod.
Den höga prestanda och elegant tillvägagångssätt Shed Skin (det är bara 6000 rader!) Kommit till en kostnad. Först, för närvarande endast accepterar det program som statiskt typade. Detta betyder helt enkelt att variabler alltid bara kan ha en enda typ. Så t.ex. a = 1; a = "1" är inte tillåtet. Naturligtvis kan en enda typ vara abstrakt eller generisk (som i C ++), så att t.ex. a = A (); a = b (), där A och B har en gemensam basklass, är tillåtet.
 
För det andra, Python-program kan inte för närvarande fritt använda Python standardbibliotek. Men vissa gemensamma import stöds (se * _. Py), och många andra kan enkelt läggas. Problemet är en praktisk en, eftersom det i teorin är möjligt att skapa bindningar för de flesta biblioteksmoduler. En enkel arbets runt kan vara att endast sammanställa kritiska delar av ett Python-program, och kommunicera med den via t.ex. filer och standard in- och utgång. På så sätt kan de "viktigaste" programmet använda hela Python dynamik och standardbibliotek, och hela programmet är skrivet i ren Python.
 
Shed Huden är fortfarande alpha mjukvara, och det finns några andra mindre, mestadels tillfälliga, begränsningar. Läs avsnittet Begränsningar noga, innan du försöker kompilera ett program. Det enda jag begär i gengäld för att göra programvaran tillgänglig under GPL, är att du skicka mig ett mail när du stöter på ett problem, som inte finns bland dessa begränsningar. Detta är det snabbaste sättet att få din program som stöds, eftersom jag vanligtvis inte åtgärda problem som jag inte känner till. Hör av mig också veta om du vill att jag ska genomföra vissa bibliotekssamtal

Vad är nytt i den här versionen:.

  • Skalbarhet åter förbättrats avsevärt.
  • Prestanda av fil I / O och komplexa tal förbättrades avsevärt.
  • Tre nya moduler stöds.
  • Sex nya exempel på program tillkom.
  • Det fanns många andra buggfixar och förbättringar.

Vad är nytt i version 0.8:

  • Stöd lades till & quot; struct & quot; och & quot; array & quot; moduler.
  • Tre nya exempel tillkom, för totalt 57.
  • C64 exemplet uppdaterades, och är nu mer än 3000 rader (sloccount).
  • Ett alternativ lades visa undantags tracebacks (shedskin -x).
  • Många buggar har åtgärdats.

Vad är nytt i version 0.1:.

  • Förbättrat stöd för "os" (UNIX)
  • Tillägget av en JPEG-avkodare (1200 rader) och några andra program till uppsättningen av exempel på program. Förlängningsmodul fixar.
  • Förbättrad kompilatorflaggor enligt OS X.
  • En viktig typhärledning fix.
  • Förbättrad variabel överbelastning.
  • Casting förbättringar.
  • Fixar för setslice och delslice hörnfall.
  • xrange returnerar ett xrange objekt, inte iterator.
  • Det finns flera mindre buggfixar.

Vad är nytt i version 0.0.30:.

  • Användardefinierad klass stöd i utbyggnadsmoduler
  • Mycket snabb set genomförande (FFAO).
  • Komplext tal support.
  • Många string formaterings förbättringar.
  • Inga kartor till NULL istället för 0, och skriver som "Inga".
  • re.match_object.group accepterar flera argument.
  • Casting förbättringar.
  • Arv från andra än Exception inbyggda undantag.
  • Hashar Ingen borde fungera nu.
  • En viktig typhärledning fix, och många andra buggfixar.

Vad är nytt i version 0.0.29:.

  • datetime och ConfigParser support
  • staticmethod och fastighets dekoratörer.
  • FreeBSD, Opensolaris, och 64-bitars stöd.
  • GCC 4.3 fixar.
  • Stöd för kartläggning nycklar ("% (nyckel) x .."% some_dict).
  • Förbättringar av importmekanismen. __init__ är mycket mindre av ett specialfall nu.
  • Många korrigeringar för att ringa förfader metoder (t.ex. Parent .__ init __).
  • Alla exempelprogram sammanställa nu som utbyggnadsmoduler.
  • Det finns många buggfixar.

Liknande mjukvara

GNU Automake
GNU Automake

22 Jun 18

Perl
Perl

17 Aug 18

Excelsior JET
Excelsior JET

17 Feb 15

Mercury
Mercury

15 Apr 15

Kommentarer till Shed Skin

Kommentarer hittades inte
Kommentar
Slå på bilder!