基于cython的即时编译器cyjit,欢迎大家提建议

1989lzhh 1989lzhh at gmail.com
Wed Jun 11 05:37:54 EDT 2014


我正在写一个使用cython code作为后端的即时编译器名为cyjit,将python code 转换为cython code再编译为c extension导入.设计上主要参考numba.jit的思路,使用decorate来指定要编译的function,例如:
from cyjit import jit
@jit('int(int,int)')
def add(a,b):
    return a+b
add(1,2)#compiled

@jit('int(int,int)',
    locals='''
    int c
    ''')
def add1(a,b):
    c=add(a,b)# fast invoked
    return c
add1(1,2)

目前还不支持类型推导,需要手动使用c的语法对局部变量进行定义。
编译过程是在jit函数中完成的,后续计划将编译过程移到函数运行时完成,实现重载。
目前支持编译cache,第一次运行需要编译,时间稍慢,再次运行直接导入编译好的extension,速度就很快了。

欢迎大家fork,pull,提建议。
https://github.com/liuzhenhai/cyjit



-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/python-list/attachments/20140611/b0bc9698/attachment.html>


More information about the Python-list mailing list