Shed Skin

Screenshot Software:
Shed Skin
Szczegóły programowe:
Wersja: 0.9.1
Filmu: 15 Apr 15
Wywoływacz: Mark Dufour
Licencja: Wolny
Popularność: 26

Rating: 4.0/5 (Total Votes: 2)

Shed Skin to eksperymentalna ++ kompilator Pythona do C. Budka skóry akceptuje czyste programy Python i generuje zoptymalizowany kod C ++. Oznacza to, że w połączeniu z kompilatorem C ++, pozwala na tłumaczenie programów Pythona w wysoce wydajny język maszynowy. Za zestaw 16 nietrywialnych programów testowych, pomiary pokazują typowe przyspieszenie 2-40 na psyco, średnio około 12, a 2-220 nad CPython, około 45 przeciętnie (patrz rozdział 5 w pracy magisterskiej na prawo ). Budka skóry również wyjść uwagami kod źródłowy.
Wysoka wydajność i eleganckie podejście rzucić skóry (to jest tylko 6000 linii!) Są za darmo. Po pierwsze, obecnie przyjmuje tylko programy, które są statycznie wpisane. To po prostu oznacza, że ​​zmienne mogą tylko kiedykolwiek jednego typu. Tak np = 1; = '1' nie jest dozwolone. Oczywiście, jeden typ może być abstrakcyjna lub ogólny (jak w C ++), tak, że np = (); = B (), w którym A i B mają wspólny klasy bazowej jest dozwolone.
 
Po drugie, programy w Pythonie nie można obecnie swobodnie korzystać z biblioteki standardowej Pythona. Jednak pewne wspólne importu są obsługiwane (patrz * _. Py), i wiele innych, może być łatwo dodana. Problemem jest to praktyczne, ponieważ teoretycznie możliwe jest tworzenie wiązań na większości modułów biblioteki. Proste obejście może być tylko skompilować krytycznych części programu Pythona, i komunikować się z nim poprzez np pliki i standardowe wejście i wyjście. W ten sposób, w programie "głównym" można używać pełnej dynamiki Python i biblioteki standardowej, a cały program jest napisany w czystym Pythonie.
 
Budka Skóra jest jeszcze oprogramowanie alfa, i istnieje kilka innych pomniejszych, głównie tymczasowe ograniczenia. Proszę uważnie przeczytać sekcję Ograniczenia, przed próbą kompilacji programu. Jedyne co pytam w zamian za udostępnienie oprogramowania dostępne na licencji GPL, jest to, że możesz wysłać mi e-maila, gdy wystąpi problem, który nie jest wymieniony wśród tych ograniczeń. To najszybszy sposób na uzyskanie program wspierany, ponieważ zazwyczaj nie rozwiązać problemy, których nie znam się. Proszę również daj mi znać, jeśli chcesz mnie do wdrożenia niektórych połączeń biblioteki

Co nowego w tym wydaniu:.

  • Skalowalność znowu znacznie się poprawiła.
  • Wydajność pliku I / O i liczby zespolone znacznie się poprawiły.
  • Trzy nowe moduły są obsługiwane.
  • dodano sześć nowych programy przykładowe.
  • Było wiele innych poprawek i ulepszeń.

Co nowego w wersji 0.8:

  • Wsparcie został dodany do & quot; struct & quot; i & quot; tablica & quot; moduły.
  • Trzy nowe przykłady zostały dodane, w sumie 57.
  • przykład C64 został zaktualizowany i jest teraz więcej niż 3000 linii (sloccount).
  • opcja została dodana do wyświetlenia tracebacks wyjątków (shedskin -x).
  • Wiele błędy zostały naprawione.

Co nowego w wersji 0.1.

  • Ulepszona obsługa "os" (UNIX)
  • Dodanie dekoder JPEG (1200 linii) i niektóre inne programy do zestawu przykładowych programów. Poprawki modułu rozszerzenia.
  • Ulepszona flagi kompilatora pod OS X.
  • wnioskowanie typu fix ważne.
  • Zwiększona zmienne przeciążenia.
  • ulepszenia Castingi.
  • Poprawki dla setslice i narożnych delslice przypadkach.
  • xrange zwraca obiekt XRange, nie iterator.
  • Istnieje kilka drobnych błędów.

Co nowego w wersji 0.0.30:.

  • zdefiniowane przez użytkownika klasy wsparcie w moduły rozszerzeń
  • Bardzo szybkie implementacje (FFAO).
  • Kompleksowe wsparcie numer.
  • Wiele ulepszeń formatowania znaków.
  • Brak mapy NULL zamiast 0 i drukuje jako "Brak".
  • re.match_object.group akceptuje wiele argumentów.
  • ulepszenia Castingi.
  • Dziedziczenie z wbudowanych wyjątków innych niż wyjątek.
  • Wymieszanie Brak powinno już działać.
  • wnioskowanie typu fix ważne, i wiele innych poprawek.

Co nowego w wersji 0.0.29:.

  • datetime i ConfigParser support
  • staticmethod i własności dekoratorów.
  • FreeBSD, OpenSolaris i wsparcie 64-bitowe.
  • GCC 4.3 poprawki.
  • Wsparcie dla klawiszy mapowania ("% (key) x .. '% some_dict).
  • Poprawki do mechanizmu importu. __init__ jest znacznie mniej specjalnego przypadku teraz.
  • Wiele poprawek do wywoływania metod-przodków (np nadrzędna .__ startowych __).
  • Wszystkie programy przykładowe teraz skompilować jako moduły rozszerzeń.
  • Istnieje wiele poprawek.

Podobne oprogramowanie

Mercury
Mercury

15 Apr 15

boot
boot

20 Feb 15

Komentarze do Shed Skin

Komentarze nie znaleziono
Dodaj komentarz
Włącz zdjęć!