Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.python > #73163

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

Path csiph.com!v102.xanadu-bbs.net!xanadu-bbs.net!feeder.erje.net!eu.feeder.erje.net!xlned.com!feeder3.xlned.com!newsfeed.xs4all.nl!newsfeed4a.news.xs4all.nl!xs4all!post.news.xs4all.nl!not-for-mail
Return-Path <1989lzhh@gmail.com>
X-Original-To python-list@python.org
Delivered-To python-list@mail.python.org
X-Spam-Status UNSURE 0.563
X-Spam-Level *****
X-Spam-Evidence '*H*': 0.33; '*S*': 0.46; 'skip:e 80': 0.09; 'url:github': 0.09; 'def': 0.12; 'skip:@ 20': 0.16; 'skip:e 110': 0.16; 'import': 0.22; 'code': 0.31; 'received:google.com': 0.35; '8bit%:80': 0.36; 'skip:j 20': 0.36; 'received:10': 0.37; 'message-id:@gmail.com': 0.38; '8bit%:86': 0.38; 'to:addr:python- list': 0.38; 'to:addr:python.org': 0.39; 'skip:c 50': 0.60; 'header:Message-Id:1': 0.63; '8bit%:95': 0.64; '8bit%:74': 0.68; '8bit%:96': 0.70; '8bit%:98': 0.78; 'charset:gb2312': 0.80; '8bit%:60': 0.84; 'received:10.32': 0.84; 'skip:\xe6 30': 0.84; '8bit%:67': 0.93; 'subjectcharset:gb2312': 0.99
DKIM-Signature v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=subject:from:content-type:message-id:date:to :content-transfer-encoding:mime-version; bh=L/ea1jZGKnQ25vUsbO/56TNHtqSESpv6+GbYEwAzY6Q=; b=I5bgS+mB9Y4gVQ7kxVCfC0gY0RPRQ57TksWoO1wgsaa44CnmVaA9O6yGcYRNFZftfx EN71PNuC0e/+ImXqM5porijRbw9FZr2tm2ODnAlDv8Gs7+q/T3bHtSv38DiwwAbDDQYu 18XYJBFwYH+/1rJxkr5oyPva0SQQuRBlYDstodNE5rpAblCIlueZGCyUu2njmcobmbRz WOuduJ8uvf19K2/VtOrmLKnJERPZpmVAShyp/cR+m63+bJ760roWqpSPRxE3IEcI+Lak tx23SjfX12wi2iv8fy3fH0flvPWXEK/mb1CeUYpgzr91e81jLteOVC5cYRtjdjRNVdd1 FwEA==
X-Received by 10.68.133.163 with SMTP id pd3mr3602122pbb.166.1402479501045; Wed, 11 Jun 2014 02:38:21 -0700 (PDT)
Subject 基于cython的即时编译器cyjit,欢迎大家提建议
From 1989lzhh <1989lzhh@gmail.com>
Content-Type multipart/alternative; boundary=Apple-Mail-4B98E6B0-29C6-4F1B-AC19-D96EAFE9A3D3
X-Mailer iPhone Mail (11D201)
Date Wed, 11 Jun 2014 17:37:54 +0800
To python_list <python-list@python.org>
Content-Transfer-Encoding 7bit
Mime-Version 1.0 (1.0)
X-Mailman-Approved-At Wed, 11 Jun 2014 13:02:26 +0200
X-BeenThere python-list@python.org
X-Mailman-Version 2.1.15
Precedence list
List-Id General discussion list for the Python programming language <python-list.python.org>
List-Unsubscribe <https://mail.python.org/mailman/options/python-list>, <mailto:python-list-request@python.org?subject=unsubscribe>
List-Archive <http://mail.python.org/pipermail/python-list/>
List-Post <mailto:python-list@python.org>
List-Help <mailto:python-list-request@python.org?subject=help>
List-Subscribe <https://mail.python.org/mailman/listinfo/python-list>, <mailto:python-list-request@python.org?subject=subscribe>
Newsgroups comp.lang.python
Message-ID <mailman.11006.1402484547.18130.python-list@python.org> (permalink)
Lines 85
NNTP-Posting-Host 2001:888:2000:d::a6
X-Trace 1402484547 news.xs4all.nl 2865 [2001:888:2000:d::a6]:33284
X-Complaints-To abuse@xs4all.nl
Xref csiph.com comp.lang.python:73163

Show key headers only | View raw


[Multipart message — attachments visible in raw view] - view raw

我正在写一个使用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



Back to comp.lang.python | Previous | NextNext in thread | Find similar | Unroll thread


Thread

基于cython的即时编译器cyjit,欢迎大家提建议 1989lzhh <1989lzhh@gmail.com> - 2014-06-11 17:37 +0800
  Re: 基于cython的即时编译器cyjit,欢迎大家提建议 mm0fmf <none@mailinator.com> - 2014-06-11 17:16 +0100
    Re: 基于cython的即时编译器cyjit,欢迎大家提建议 Skip Montanaro <skip@pobox.com> - 2014-06-11 12:16 -0500
    Re: 基于cython的即时编译器cyjit,欢迎大家提建议 1989lzhh <1989lzhh@gmail.com> - 2014-06-12 00:50 +0800
    Re: 基于cython的即时编译器cyjit,欢迎大家提建议 1989lzhh <1989lzhh@gmail.com> - 2014-06-12 07:50 +0800

csiph-web