脱皮是一个实验性的Python到C ++编译器。脱皮接受纯粹的Python程序,并生成优化的C ++代码。这意味着,在同一个C ++编译器的组合,其允许翻译Python程序成高效的机器语言。一组16个非平凡的测试程序,测量显示2-40过Psyco的,平均约12一个典型的加速,以及2-220超过CPython的,约45平均(见我的硕士论文的第五章对右边)。脱皮也输出注释的源代码。
高性能和脱皮的优雅方式(只有6000行!)付出了代价。首先,它目前只接受静态类型的节目。这只是意味着变量永远只能有一个类型。因此,如一个= 1;一个='1'是不允许的。当然,一个单一的类型可以是抽象或通用(如在C ++中),这样,如A = A(); A = B(),其中A和B有一个共同的基类,是允许的。
第二,Python程序目前不能自由使用Python标准库。然而,一些常见的进口支持(见* _。PY)和许多其他人可以很容易地添加。问题是一个实际的问题,因为在理论上是可能的创建绑定对于大多数库模块。一个简单的解决方法可以是只编译Python程序的关键部分,并通过如与它进行通信文件和标准输入和输出。这样一来,'主'程序可以使用完整的Python动态和标准库,整个程序是用纯Python。
脱皮仍是阿尔法的软件,还有其他一些小的,多为暂时性,局限性。尝试编译程序之前,请先阅读局限性部分仔细。我要求的回报使得GPL下可用的软件的唯一事情,就是你,当你遇到一个问题给我一个电子邮件,这是不是在这些限制上市。这是最快的方式,让你项目的支持,因为我通常不解决问题,我不知道。也请让我知道,如果你想我去实现某些库调用
什么在此版本中是新的:
- 可扩展性又大大提高了。
- 在文件I / O数和复数大幅提高性能。
- 在三个新的模块支持。
- 在六个新的示例程序增加了。
- 有许多其他错误修正和改进。
什么在0.8版本的新:
- 在支持加入为"结构"和"阵列"模块。
- 在三个新的例子增加了,总共57。
- 在该C64为例进行了更新,现在已经是3000多线(sloccount)。
- 的选项被添加到显示的异常回溯(shedskin -x)。
- 在许多错误是固定的。
什么版本0.1是新的:
- 在为“OS”(UNIX)改进的支持
- 添加一个JPEG解码器的(1200线)和一些其他的方案,该组的示例程序。扩展模块修复。
- 在改进编译器标志。
- 在一个重要的类型推断修复。
- 在改进变量超载。
- 铸造的改进。
- 修正为setslice和delslice角落的情况。
- 的xrange返回的xrange对象,而不是迭代器。
- 有几个小错误修正。
在OS X
什么是0.0.30版本的新:
- 在扩展模块用户定义的类支持
- 在非常快速的设定实现(FFAO)。
- 在复数的支持。
- 在很多字符串格式化的改善。
- 在无映射为NULL,而不是0,并打印为“无”。
- 在re.match_object.group接受多个参数。
- 铸造的改进。
- 在继承从内置的例外比异常等。
- 在散列无应现在的工作。
- 在一个重要的类型推断的修复,和许多其他错误修正。
什么是0.0.29版本的新:
- 在datetime和ConfigParser支持
- 在静态方法和财产装饰。
- 在FreeBSD的,OpenSolaris和64位支持。
- 在GCC 4.3补丁。
- 在支持映射键(“%(重点)×..'%some_dict)。
- 在改进了导入机制。 __init__小得多的一个特例的现
- 在许多修复调用祖先方法(如父.__的init __)。
- 在所有的示例程序现在编译为扩展模块。
- 有许多错误修正。
评论没有发现