用于天体物理计算的python实时编译器
hope的Python项目详细描述
hope是用python为 将Python源代码翻译成C++,并在运行时编译该代码。在 与其他现有的JIT编译器相比,它们是为一般设计的 目的,我们重点开发了python语言的子集 这与天体物理计算最为相关专注于此 子集,hope能够获得尽可能高的性能。
通过使用hope,用户可以从编写common 用Python编写的具有编译实现性能的数字代码。 要启用HOPEJIT编译,用户需要将decorator添加到 函数定义。该包不需要其他信息, 这样可以确保hope尽可能地非侵入性:
fromhopeimportjit@jitdefsum(x,y):returnx+y
hope包是在苏黎世eth的ETH Institute of Astronomy的Software Lab of the Cosmology Research Group中开发的,现已公开 在GitHub提供。
有关该包的更多信息,请参见 readthedocs.org和我们的 website。
支持的Python版本
hope支持从2.7到3.6的python版本。
安装
包已上载到PyPI 可通过pip安装在命令行:
$ pip install hope
或者,如果安装了virtualenvwrapper:
$ mkvirtualenv hope $ pip install hope
历史记录
0.7.0(2017-09-08)
- 支持Python3.5和3.6
0.6.1(2016-07-04)
- 当访问类成员操作错误 时修复bug
0.6.0(2016-04-19)
- 修正了二维数组切片中的错误
- 负索引数组切片
- 修复了具有对象属性的名称冲突错误
- 将赋值替换为对对象属性的引用
0.5.0(2016-01-20)
- 修复了在jitted fkt中创建数组时的内存泄漏
- 修复了numpy.interp中不正确的绑定处理
0.4.0(2015-02-04)
- 提高了大型函数的编译速度
- 支持if else中的变量分配
- 添加了对numpy.sign的支持
- 更新了基准中的cython实现
- 修正了osx yosemite下的阵列分配问题(thx iankronquist)
0.3.1(2014-10-24)
- 更好地支持Python3.3和3.4
- travis ci中的适当积分
- 改进了对Linux系统的支持(接受x86-linux-gnu-gcc)
- 通过删除Wstrict原型避免在Linux上发出警告
- 支持GCC代理铿锵(OSX)
- 添加了一组示例
0.3.0(2014-10-16)
- 语言:标量返回值
- 共享库被写入hope.config.prefix
- 函数调用可以有返回值
- 修复了对没有参数的函数的函数调用
- 如果python代码已更改,请确保重新编译代码
- 添加了config.optimize以使用sympy和replace pow简化表达式
- 希望的速度改进
- 添加了对对象属性的支持
- 增加了对对象方法的支持
- 添加对true和false的支持
- 添加对While的支持
- 添加对numpy.sum的支持
- 添加对numpy.pi的支持
- 添加了对numpy.floor、numpy.ceil、numpy.trunc、numpy.fabs、numpy.log的支持
- 改进的错误消息
- 添加了config.rangecheck标志
- 在for循环中支持xrange
- 为np.bool_u、np.int_u、np.intc、np.int8、np.int16、np.int32、np.int64、np.uint8、np.uint16、np.uint添加了强制转换运算符32个,np.uint64个,np.float_u个,np.float32个,np.float64个,
- 添加了bool运算符
- 添加了以下运算符:
FloorDiv | ^{tt1}$ |
Mod | ^{tt2}$ |
LShift | ^{tt3}$ |
RShift | ^{tt4}$ |
BitOr | ^{tt5}$ |
BitXor | ^{tt6}$ |
BitAnd | ^{tt7}$ |
AugFloorDiv | ^{tt8}$ |
AugPow | ^{tt9}$ |
AugMod | ^{tt10}$ |
AugLShift | ^{tt11}$ |
AugRShift | ^{tt11}$ |
AugBitOr | ^{tt5}$ |
AugBitXor | ^{tt6}$ |
AugBitAnd | ^{tt7}$ |
0.2.0(2014-03-05)
- 在私有PyPI上发布的第一个版本
0.1.0(2014-02-27)
- 初始创建。