スキンは実験のPythonからC ++コンパイラですシェッド。スキンは、純粋なPythonプログラムを受け入れ、最適化されたC ++コードを生成しシェッド。これは、C ++コンパイラとの組み合わせで、それは非常に効率的な機械語にPythonプログラムの翻訳を可能にすることを意味する。 16非自明なテスト·プログラムのセットのために、測定値はPsycoの、平均で約12年2-40の典型的なスピードアップを示し、CPythonの上に2から220、約45平均で(右側に私の修士論文の第5節を参照してください。 )。シェッドスキンも注釈付きソースコードを出力します。
高性能とシェッド肌の上品なアプローチは、(それが唯一の6000行です!)のコストで来る。第一に、それは現在、静的型付けされているプログラムを受け入れます。これは、単に変数が唯一の今までに単一の型を持つことができることを意味します。だから、例えば= 1。 = '1'が許可されていません。例えばように当然のことながら、単一のタイプは、(C ++のように)抽象的または一般的なことができます= A(); A及びBは、共通の基底クラスを持つ= B()は、許可されている。
第二に、Pythonプログラムは、現在、自由にPythonの標準ライブラリを使用することはできません。しかし、いくつかの一般的な輸入がサポートされている(pyを* _参照)、および他の多くを簡単に追加することができる。理論的にはほとんどのライブラリモジュールのバインディングを作成することができるので問題は、実用的なものである。シンプルな作業は、周囲にのみPythonプログラムの重要な部分をコンパイルすること、及び例えばを通してそれと通信することができますファイルと標準入口および出力。この方法では、「メイン」プログラムは、完全なPythonのダイナミクスと標準ライブラリを使用することができ、全体のプログラムは、純粋なPythonで書かれています。
脱皮まだアルファソフトウェアであり、他のいくつかのマイナー、主に一時的な、制限があります。プログラムをコンパイルしようとする前に、制限事項の項をよくお読みください。私はGPLの下でソフトウェアを利用可能にする見返りに求める唯一のことは、あなたがこれらの制限の中でリストされていない問題に遭遇したときに私にメールを送っていることである。私は通常、私は知らない問題を修正しないので、これは、あなたのプログラムはサポートされて得るために最速の方法です。また、あなたは私が特定のライブラリ呼び出しを実装したい場合は私に知らせてください。
のこのリリースではの新機能:ます。
- スケーラビリティが再び大幅に改善したします。
- 三つの新しいモジュールがサポートされています。
- 6つの新しいサンプル·プログラムが追加されました。
- 他の多くのバグ修正と改善がありました。
<李> I / Oの複素数が大幅に改善されたファイルの性能ます。
のバージョン0.8にの新機能は次のとおりです。
- サポートが&QUOTのために追加されました。構造体&QUOT。そして&QUOT;配列&QUOT。モジュールます。
- 三つの新しい例は57の合計のために、追加されたします。
- C64の例を更新し、現在3,000以上の行(sloccount)ですします。
- オプションが表示例外トレースバック(shedskin -x)に添加したします。
- 多くのバグが修正されました。
のバージョン0.1の新しいのあるもの:ます。
- 「OS」(UNIX)のためのサポートの向上
- JPEGデコーダ(1200行)とサンプル·プログラムのセットにいくつかの他のプログラムの追加。拡張モジュールの修正します。
- の改善コンパイラフラグます。
- 重要な型推論修正します。
- の改善変数オーバーロードします。
- 鋳造改善します。
- 修正します。
- はxrangeははxrangeオブジェクトではなく、イテレータを返します。
- いくつかのマイナーなバグ修正があります。
OS Xの下の
setsliceとdelsliceコーナーケースのための
のバージョン0.0.30のの新機能:拡張モジュールの
- ユーザー定義クラスのサポート
- 非常に高速な集合の実装(FFAO)します。
- 複素数をサポートします。
- 多くの文字列の書式設定の改善ます。
- はいずれも、NULLの代わりに0、および「なし」としてプリントにマップしません。
- re.match_object.groupは、複数の引数を受け付けます。
- 鋳造改善します。
- 継承します。
- なし動作するようになりましてはならないハッシュます。
- 重要な型推論の修正、および他の多くのバグ修正します。
例外以外の組み込みの例外から
のバージョン0.0.29のの新機能である:ます。
- 日時とConfigParserのサポートします。
- staticmethodと財産デコレータます。
- のFreeBSD、OpenSolarisの、および64ビットサポートします。
- GCC 4.3修正します。
- マッピングキー( '%(キー)は、x ..'%のsome_dict)のサポートします。
- 輸入メカニズムの改善。 __init__は現在、特殊なケースのはるかに少ないます。
- 祖先メソッドを呼び出すための多くの修正(例えば親.__ initを__)します。
- すべてのプログラム例は、現在の拡張モジュールとしてコンパイルします。
- 多くのバグ修正があります。
コメントが見つかりません