我正在写一个使用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
-- https://mail.python.org/mailman/listinfo/python-list