我已经用Python编程了几年,并且一直使用CPython而不考虑它.我读过的书籍和文档也总是指CPython.
何时使用替代分发(PyPy,Stackless等)是有意义的?
谢谢!
我有一个我在python中编写的脚本,它工作正常,但我很好奇,看看我是否可以加快它.它基本上是递归脚本.
如果我在普通的python 2.7中运行它,大约需要30秒.当我使用pypy运行相同的东西比我得到以下错误:
RuntimeError: maximum recursion depth exceeded
Run Code Online (Sandbox Code Playgroud)
我不确定pypy做什么不同,因为我没有修改脚本.
任何人都可以帮我理解发生了什么吗?
更新:好吧我明白了.增加限制有帮助,但我认为我运行了错误的文件.我在bin目录下找到了一个名为py.py的文件并正在使用它.我不确定文件是做什么的,但它比普通的python慢.我不得不搜索并发现'pypy-c'似乎现在正常工作.
是否有可能有一个监听器服务器进程和一个客户端进程,其中一个使用python解释器而另一个使用pypy解释器?
会conn.send()和conn.recv()互操作性好吗?
这完全适用于我坐在的Linux VM上,但在Windows 7上的pypy下运行"pip install pil"会抱怨多次定义的事情:
〜\ Windows\v7.1\include\basetsd.h(76):警告C4114:同一类型限定符使用多次
通过在Windows上将已安装的PIL源编辑为#undef INT8/16/32 UINT8/16/32来修复这些问题将解决该问题但最终得到:
链接:致命错误LNK1181:无法打开输入文件'python27.lib'错误:命令'C:\ Program Files(x86)\ Microsoft Visual Studio 9.0\VC\BIN\link.exe'失败,退出状态为1181
这"只适用于Windows7上的CPython",也适用于Linux上的PyPy.
有谁知道如何让它与Windows上的pypy一起工作?
例如,如果我用Java创建JVM,是否有可能使我实现的实现比我用于构建此实现的原始实现更快,即使我的实现是基于原始实现构建的,甚至可能依赖于在那个实现?
(令人困惑......)
看看PyPy.它是用Python制作的Python的JIT编译器.这没关系,但是它如何声称比它正在使用并依赖于Python的原始实现更快?
我正在尝试使用Pypy让我的代码运行得更快,但我不知道如何处理我从网站上下载的zip文件(我试图阅读方向,但它移动得太快,我不知道这是怎么回事).我想知道是否有人有关于如何安装和使用Pypy的简单的逐步说明.另外,我在Windows上使用Wing
有没有办法使用这个正则表达式模块与pypy?
https://pypi.python.org/pypi/regex
或任何与pypy一起使用的替代正则表达式模块,并具有此正则表达式模块的功能.我把我的python安装中的正则表达式模块文件复制到pypys lib_pypy文件夹中,但是我无法导入这个模块,错误是:
ImportError: No module named _regex
Run Code Online (Sandbox Code Playgroud)
它似乎无法导入_regex.pyd文件.我正在使用pypy3-2.1-beta1-win32,windows xp.
我也尝试用pypy构建库:
pypy setup.py build -c mingw32
Run Code Online (Sandbox Code Playgroud)
我有这个错误:
error: package directory 'Python3' does not exist
Run Code Online (Sandbox Code Playgroud)
我尝试从setup.py中删除package_dir = {'':PKG_BASE}并重试构建,然后又出现了另一个错误:
File "...\pypy3-2.1-beta1-win32\lib-python\3\distutils\cygwinccompiler.py", line 352, in check_config_h
fn = sysconfig.get_config_h_filename()
AttributeError: 'module' object has no attribute 'get_config_h_filename'
Run Code Online (Sandbox Code Playgroud) 我的期望是pypy可能比python快一个数量级,但结果表明pypy实际上比预期慢.
我有两个问题:
结果时间:
Python 2.7.5
Pypy 2.2.1
算法:
我正在使用一个简单的算法生成一个空间点列表,我正在尝试优化算法.
def generate(size=32, point=(0, 0, 0), width=32):
"""
generate points in space around a center point with a specific width and
number of divisions (size)
"""
X, Y, Z = point
half = width * 0.5
delta = width
scale = width / size
offset = scale * 0.5
X = X …Run Code Online (Sandbox Code Playgroud) 我正在尝试使用PyPy运行Python(2.7)脚本,但是遇到以下错误:
TypeError: sys.getsizeof() is not implemented on PyPy.
A memory profiler using this function is most likely to give results
inconsistent with reality on PyPy. It would be possible to have
sys.getsizeof() return a number (with enough work), but that may or
may not represent how much memory the object uses. It doesn't even
make really sense to ask how much *one* object uses, in isolation
with the rest of the system. For example, instances have maps,
which are often …Run Code Online (Sandbox Code Playgroud) pypy ×10
python ×10
performance ×2
cpython ×1
distribution ×1
ffi ×1
haskell ×1
install ×1
jvm ×1
numpy ×1
optimization ×1
sandbox ×1
sizeof ×1