`

pypy的一个测试

 
阅读更多

pypy-1.9 昨天已经发布,据称性能又有所提高。

 

于是我特地用一个东西来测试一下:

 

就是bson的 encode效率

 

pymongo的bson自带一个用c写的扩展用于speed up速度。

 

在我的t400, win7下测试。大约一秒钟可以encode  10万的数据。

 

用pypy-1.9速度能达到多少呢?  同样的bson without c_extension。

 

速度大约为每秒9万。

 

某种程度上说,pypy-jit的效率已经逼近用c写的代码。而用c写代码让py来加速 就算现在用上cython也是比不上直接上python来得方便。

 

另外一个好消息是:cython现在最新的dev版本 大致上可以和pypy一起工作了。这样很多东西就有了实现的可能。

例如 cx_freeze & pypy。

 

pypy鼓励大家使用py来写代码而不是用c。但是这个世界终究没那么理想和纯粹,有不少的库我们没法很方便地用py重写。 pypy的c-api 的支持十分的糟糕,以至于有不少著名的包专门为此制作了 ctypes based的版本。

 

对于ctypes..我个人的意见是:如果能使用cython 就不要用ctypes。特别是要和cx_freeze一起用的话.......

 

这个月工作告一段落后,打算抽些时间研究一下cx_freeze。看能否让它和pypy一起工作。pyp最近的进展很令人振奋。

分享到:
评论

相关推荐

    pypy windows 最新版 v5.8.0

    Pypy 是一个快速、兼容 Python 语言的替代实现,它通过 Just-In-Time (JIT) 编译技术提高了 Python 代码的执行速度。Pypy 并不是 Python 的官方实现 CPython,而是由一个独立的社区开发并维护的项目。Pypy 在保持与...

    PyPy2 v590 Python 2.7.13

    PyPy还有一个单独的支持微线程的版本。 另外,PyPy 也有 每夜构建 版本供开发者测试。 PyPy是作为Specific Targeted Research Projects(特定领域研究项目)从2004年12月到2007年3月,开始接受欧盟的援助。

    pypy-2.6.1-win32

    PyPy 是一个快速、兼容 Python 的替代实现,其目标是提供与标准 CPython 解释器相似的语法和功能,但通过采用 Just-In-Time (JIT) 编译技术来提升性能。PyPy 的设计哲学是强调速度和可扩展性,它使用了自己的动态...

    pypy3-v6.0.0-win32

    综上,"pypy3-v6.0.0-win32" 是一个针对32位Windows系统的、基于Python 3.5.3兼容的PyPy3.5测试版本,它利用了JIT技术以提高Python代码的执行速度。如果你是32位Windows用户并且需要更快的Python运行环境,这个版本...

    pypy3.6-v7.3.1-src.zip

    标题 "pypy3.6-v7.3.1-src.zip" 暗示这是一个源代码压缩包,其中包含了PyPy的3.6版本,版本号为7.3.1。PyPy是一个快速、兼容Python语言的解释器,以其JIT(Just-In-Time)编译器而闻名,它能够提高Python程序的执行...

    Pypy解释器

    Pypy是Python编程语言的一个高性能、动态类型系统支持的替代解释器,它以其快速的执行速度和对Python生态系统的广泛兼容性而受到关注。Pypy并非传统的Python解释器,而是基于Just-In-Time (JIT) 编译技术,这种技术...

    pypy3.6-v7.3.2-win32.zip

    **PyPy3.6-v7.3.2-win32.zip** 是一个针对Windows操作系统的Python解释器的压缩包,其中包含的是PyPy的3.6版本。PyPy是一个快速、兼容Python语言的替代实现,它以其Just-In-Time (JIT)编译器而闻名,能够显著提高...

    pypy3-v5.10.1-win32

    PyPy是Python的一个高性能、兼容性的替代实现,它以其快速的执行速度和对多种Python版本的支持而闻名。标题“pypy3-v5.10.1-win32”指的是PyPy的特定版本,即v5.10.1,针对32位Windows操作系统。这个版本的发布旨在...

    pypy.tar.gz

    标签 "pyqt5测试" 提供了另一个关键信息点,即话题涉及到 PyQt5,这是一个 Python 接口,用于 Qt 库,允许开发者使用 Python 来创建跨平台的图形用户界面(GUI)应用程序。PyQt5 是 Qt 应用程序开发的一个强大工具,...

    pypy-1.9-win32.zip_python程序

    PyPy是一个快速、兼容性的Python解释器,它使用了Just-In-Time(JIT)编译技术,目的是提高Python代码的执行速度。与标准的CPython解释器相比,PyPy在某些情况下可以显著提升Python程序的运行效率。 描述中提到的...

    Python-FalconRESTAPIPattern基于Falcon和PyPy可大规模扩展的RESFul接口框架

    PyPy 是 Python 的一个替代解释器,它采用了 Just-In-Time (JIT) 编译技术,通常比 CPython(Python 的默认解释器)执行速度更快。在构建大规模可扩展的 API 时,性能至关重要,PyPy 能够帮助减少延迟,提高服务吞吐...

    shapely-2.0.3-pp310-pypy310_pp73-win_amd64.whl.zip

    标题中的"shapely-2.0.3-pp310-pypy310_pp73-win_amd64.whl.zip" 提供了关于一个Python库的详细信息,这个库是Shapely,版本号为2.0.3。这里的"pp310"和"pypy310_pp73"指的是PyPy版本,它是一种Python的替代解释器,...

    PyPI 官网下载 | cpnest-0.11.2-pp37-pypy37_pp73-win32.whl

    标题中的"PyPI 官网下载 | cpnest-0.11.2-pp37-pypy37_pp73-win32.whl"表明这是一个从Python Package Index(PyPI)官方源下载的软件包。PyPI是Python社区用于分发、发现和安装Python模块的中央仓库。"cpnest"是这个...

    pymol-2.6.0a0-pp310-pypy310_pp73-win_amd64.whl.zip

    总的来说,这个压缩包包含了一个适用于PyPy 3.10和Windows 64位系统的PyMOL早期测试版本,以及一份使用说明。用户可以直接通过pip进行安装,而不需担心解压问题。使用说明将帮助用户更好地理解和使用PyMOL,特别是在...

    聊聊Python中的pypy

    PyPy的第一个部分是一个用rPython编写的Python解释器。这里所说的rPython并非完整的Python语言,而是Python的一个子集。尽管如此,用rPython编写的Python解释器却能够完整地解释标准的Python代码。这一部分通常被...

    mew:对 Pypy 进行基准测试,测试 CPU 缓存局部性能

    这个项目的核心是通过创建一个大的整数列表来测试 CPU 缓存的局部性,但只乘以每个第 n 个成员。 有关我要测试的内容的更深入的文章,请参阅: 喵喵 如何运行: ./mew.py <amount> <number> 例如,如果我们要创建...

    Python库 | tdl-4.2.0-pp259-pypy_41-win32.whl

    标题中的“tdl-4.2.0-pp259-pypy_41-win32.whl”是一个Python库的特定版本,用于Windows 32位系统的Pypy解释器。这个库叫做“TDL”,它是一个开源项目,提供了一个低级别的游戏开发库,特别适合创建基于文本的冒险...

    shapely-2.0.1-pp310-pypy310_pp73-win_amd64.whl.zip

    Shapely-2.0.1-pp310-pypy310_pp73-win_amd64.whl.zip这个文件名揭示了关于Shapely的一个特定版本,适用于Python的PyPy解释器,并且是专为64位Windows操作系统设计的。本文将深入探讨Shapely库以及如何使用.whl文件...

    在PyCharm中三步完成PyPy解释器的配置的方法

    在PyCharm中配置PyPy解释器是一个简单的过程,这对于那些寻求提高Python程序执行效率的开发者来说是非常有用的。PyPy是一个快速的Python解释器,它利用Just-In-Time(JIT)编译技术,能够在运行时优化代码,使得某些...

    Python库 | SiPM-1.1.3a0-pp27-pypy_73-manylinux2010_x86_64.whl

    标题中的"SiPM-1.1.3a0-pp27-pypy_73-manylinux2010_x86_64.whl"是一个Python的轮子(wheel)文件,这是一种预编译的Python软件包格式,用于简化安装过程。这个文件的命名结构包含了丰富的信息: 1. **SiPM**:这很...

Global site tag (gtag.js) - Google Analytics