有点晚了,但万一有人被这条线索绊倒了:
我写了一个module,它透明地在其他python解释器中运行程序的一部分。基本上,它提供修饰符和基类,用与其他解释器接口的代理替换函数和对象。在
它是为了兼容性,例如在python3中只运行python2代码,或者从pypy访问C模块。在
在下面的示例中,循环通过使用pypy运行的速度是普通python的4倍。在#!/usr/local/bin/python
from cpy2py import TwinMaster, twinfunction
import sys
import time
import math
# loops in PyPy
@twinfunction('pypy')
def prime_sieve(max_val):
start_time = time.time()
primes = [1] * 2 + [0] * (max_val - 1)
for value, factors in enumerate(primes):
if factors == 0:
for multiple in xrange(value*value, max_val + 1, value):
primes[multiple] += 1
return {'xy': [
[primes[idx] == 0 for idx in range(minidx, minidx + int(math.sqrt(max_val)))]
for minidx in range(0, max_val, in