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:优化Python性能的替代选择 PyPy是一个完全兼容Python的解释器,它采用了即时编译技术。与标准的CPython解释器不同,PyPy在运行时将Python代码转换为机器码,以实现更高的执行速度。PyPy还使用了一些其他的优化策略,例如内存管理技术和即时特化(JIT specialization),以提高代码的性能。 阅读详情

相关推荐

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

概述 这个项目的核心是通过创建一个大的整数列表来测试 CPU 缓存的局部性,但只乘以每个第 n 个成员。 有关我要测试的内容的更深入的文章,请参阅: 喵喵 如何运行: ./mew.py <amount> <number> <number> 例如,如果我们要创建一个包含 128 个数字的列表,并将该列表中的每第 16 个数字乘以 3: ./mew.py 128 16 3 但是,Python 比 C 慢。 bin目录中包含一些预编译的二进制文件。 (为 OSX Lion x64、Ubuntu 12.04 x64 编译)运行这些二进制文件与 Python 版本相同,但返回结果的速度大约快 100 倍。 cd bin ./mew_nosum_osx.bin 128 16 3 mew_runner.

Pypy 确实比较快

centos 安装命令 yum -y install pypy-libs pypy pypy-devel 装好了以后测试了一下,用下面这段代码import time def check(num): a = list(str(num)) b = a[::-1] if a == b: return True return False

豆包笔记 2191

SAP(ERP)工艺路线(Routing)业务视角解析

工艺路线(Routing)也是PP模块,即生产制造模块中最重要核心主数据之一,也是ERP(SAP)顾问,必需从业务与系统深入掌握的重要主数据,它也是整个生产计划与生产流程的重要基础。因为执行步骤只是操作层面的认知,业务顾问需要从业务本质上去理解它,要真正从业务视角理解工艺路线的业务价值,而不仅仅是操作层面的认知。因此将工艺路线理解为“有以上业务本质的理解,然后进到SAP系统中,就容易理解工艺路线(Routing)的每一组成部分结构与功能了,本质就是理解制造企业如何将设计意图转化为物理现实的编码规则。

m0_45197968的博客 1502

pypy安装与使用

首先安装pypy环境: yum install pypy -y yum install pypy-devel -y 然后安装pypy的pip:wget https://bootstrap.pypa.io/get-pip.pypypy get-pip.py至此,pip就安装完成了!为了防止pypy pip 与 与python的 pip 冲突。pypy的pip使用方法如下: pyp...

weixin_30713953的博客 1617

Quantum Espresso实战进阶:HSE混合泛函在能带计算中的精准应用

本文深入探讨了在Quantum Espresso中应用HSE混合泛函进行高精度能带计算的实战方法。针对传统DFT方法低估半导体带隙的问题,HSE通过混合精确交换能,显著提升计算精度。文章详细讲解了从输入文件配置、参数设置(如nqx网格、exxdiv_treatment)、到自洽与非自洽计算流程,以及结果可视化与对比的全过程,并提供了关键的调优与避坑指南,助力实现从PBE到HSE的精准进阶。

weixin_28363123的博客 226

Unity中URP下的菲涅尔效果实现(个性化修改)

在上篇文章中,我们实现了 URP 下的菲涅尔基础效果,我们在这篇文章中,对其进行自定义化修改。

楠溪泽岸的博客 2063

Python打包教程 PyInstaller和cx_Freeze

Python打包是将Python应用程序和它的依赖项转换为一个独立的可执行文件的过程。这个可执行文件可以在不安装Python解释器或其他依赖项的情况下运行。分享Python应用程序,使其他人可以轻松运行它。部署Python应用程序到不同的计算机,无需担心环境配置。保护源代码,使其不容易被查看或修改。

cfl997 4096

高通平台N4单路输入的720P相机预览

N4的一路720P Camera作为MIPI摄像头使用

llw21680的专栏 165

[Python]C用API与Python交互

文章目录基础概念实现虚拟机根基对象引用计数Qt初始化全局虚拟机变量通用构建数字字符串对象引用容器具体构建C函数交互从 C 设值到 Python从 Python 取值到 C 基础概念 实现 Python 的官方实现是 CPython. 另外还有其他实现, 如: Pypy(使用 rPython 实现, 附有编译器, 有 JIT). Jython IronPython Pyston 本文讨论 CPy...

airaou 726

【20260309】【亲测可用】【异常】Get https://registry-1.docker.io/v2/: net/http: request canceled

【异常】Get https://registry-1.docker.io/v2/: net/http: request canceled while waiting for connection。

奶爸的编程之路,也就一周冷个三天 2万+

Silvaco TCAD 半导体器件仿真全攻略:从入门到精通

本文介绍了Silvaco TCAD半导体器件仿真平台的核心功能与应用方法。主要内容包括: Silvaco TCAD的核心模块组成(ATHENA工艺仿真和ATLAS器件仿真)及其在半导体研发中的重要作用,能够通过数值仿真预测器件电学特性,显著降低研发成本。 环境配置要点,包括内存分配、文件目录管理和许可证验证,为仿真工作提供基础保障。 仿真核心概念:详细讲解了网格划分策略和物理模型选择原则,强调基于物理直觉的自适应加密网格方法。 以PN结二极管为例,提供了完整的仿真代码示例,涵盖从网格定义、掺杂设置到结果分析

huanghm88的专栏 200

Python3 vs. Python2 大作战,谁将是性能之王?

(点击上方蓝字,快速关注我们)编译:OSC-达尔文 ,英文:hackernoonwww.oschina.net/news/98145/which-is-the-faste...

Python开发者 389

手把手教你学PCIE-- 热插拔电路设计与实现方案

PCIe热插拔(Hot-Plug)技术允许用户在系统运行时安全地插入或移除设备,而无需重启系统。本文将深入讲解热插拔电路的设计要点、关键器件选型及信号协议规范,涵盖机械结构、电气保护和电源管理三大核心模块。​。

MHD0815的博客 440

使用pypy环境——快到飞起

先做个简单测试,感受下这玩意儿的速度 import time st = time.time() result = 0 for each in range(1000000000): result+=each print(result) print('runtime:%f\n'%(time.time() - st)) 结果 # 一般的python环境(称为Cpython) 499999999500000000 runtime:91.477087 # pypy环境 499999999500000000

LionLone的博客 559

DDR5 的 PI: DIMM 上 PMIC,正在制造一批“新型 EMI 问题”

DDR5 的 PI,不再只是“供电设计”,而是一次“噪声管理设计”。电压稳定本地调节高频噪声EMI 风险系统不确定性DDR5 真正难的地方,不是跑起来,而是——在最差条件下,它还能不能一直跑。而 DIMM 上那颗 PMIC,正是你绕不开的关键角色。

weixin_43199439的博客 181

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

centos安装pypy(含pypy下载地址)

centos安装pypy(含pypy下载地址) 2013年10月8日凉白开发表评论阅读评论 加入收藏 | 收藏本站 今天ttlsa群友提问说pypy源码安装有问题,各种问题,有些人使用epel源yum安装,但是我发现我的epel没有pypy,在网上搜索了一番,找到了对应的rpm安装包,这边分享一下下载地址以及python与pypy的简单性能对比。 1.  pypy r

qq331565760的专栏 1019

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

CentOS安装pypy

2019独角兽企业重金招聘Python工程师标准>>> ...

weixin_34146805的博客 162

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

pypy比php慢多了,hippyvm: HippyVM 是基于 PyPy 虚拟机的 PHP 实现,比 HHVM 快 2 倍

HippyVMHippyVM is an implementation of the PHP language usingRPython/PyPy technology.HippyVM right now works only on 64bit linux on x86 platform (this limitationis temporary though, the RPython toolch...

weixin_31236935的博客 205

Golang性能测试与思考

本文测试Go、Python、PyPy、C的效率,作为学习Go的参考标准。测试用例:进行(2&lt;&lt;25)次简单加法 测试环境: 系统:Windows7 专业版 CPU:Intel® Core™ i5-4590 CPU @ 3.30GHZ 3.30GHZ, 14级流水线(Pipeline) 参考资料: Core微架构14级流水线 测试用例:进行(2&lt;&lt;25)次简单加法 // ...

翔鹰的专栏 3401

python相见恨晚_python 漫谈(一)相见恨晚的库

(一)pypy和Cpython解释器在性能上的比较Cpython解释器是从官网下载python自带的解释器,就是我们平常使用的解释器。pypy解释器的出现是为了在一定程度上提升python代码运行的效率。据统计,pypy解释器运行相同代码的效率约为Cpython的6倍。1. pypy的安装测试1 #安装2 apt-get install pypy3 #测试4 pypy在命令行输入pypy,进入类似...

weixin_39733948的博客 112

掌上PyPy:Linux的便携式Python解释器

掌上PyPy:Linux的便携式Python解释器 去发现同类优质开源项目:https://gitcode.com/ 项目介绍 Portable PyPy是一个开源项目,它提供了一个轻量级的解决方案,使得在多种Linux发行版上运行PyPy变得简单而无需额外安装库或调整系统设置。这个项目的目标是构建一个可以跨DEB和RPM为基础的包括RHEL/CentOS 6及更高版本,Fedora,SuSE L...

gitblog_00071的博客 668

推荐:Fast SQLite Inserts - 亿级数据插入的高速解决方案

推荐:Fast SQLite Inserts - 亿级数据插入的高速解决方案 项目介绍 Fast SQLite Inserts 是一个专门针对如何快速在SQLite数据库中创建并插入十亿行随机数据的研究项目。通过对比不同编程语言(如Python的CPython和PyPy实现,以及Rust)的性能,此项目揭示了高效插入大量数据的最佳实践。该项目源于一篇详细的博客文章——《迈向一分钟内插入十亿行到SQ...

gitblog_00004的博客 470

lua加速python_Lua: 一个Python的秘密武器

Python部落(python.freelycode.com)组织翻译,禁止转载,欢迎转发。世界上有三种谎言: 谎言,该死的谎言和基准测试纯Python大家好,今天我想分享一些不寻常的基准测试成果,它们论证了Python可以通过嵌入Lua而得到增强。这一过程始于我的朋友让我完成一些简单的任务用于比较Python和其他语言。以下是我们要做的基准测试。图 1.0我们创建了两个数组,每个数组有500万个...

weixin_39603995的博客 206

python自动化测试框架pytest.pdf_自动化测试框架pytest文档:pytest入门基础

帮助你更好的书写程序成熟全功能的Python测试工具 支持POSIX /Windows, Python的2.5-3.3 , PyPy和Jython - 2.5.11000测试用例自测零bug。pytest升级时有很好的向后兼容性丰富的在线和PDF文档大量的第三方插件和内置帮助在许多小型和大型项目和组织使用许多测试实例灵活 易学,有多种用法assert语句断言追踪和失败断言报告打印调试和测试执行期间...

weixin_39865102的博客 592

Python vs C 效率对比(简单循环)

Python import time start=time.time() j=0 for h in range(20000): for i in range(10000): j=j+i print(j,(time.time()-start)) C #include "time.h" #include "stdio.h" int main(int argc, char const *argv[]) { int i; int h; double

1826

python Web自动化测试

Selenium简介 定义:Web系统自动化测试工具集 Selenium包含 Selenium IDE Firefox插件,可以根据用户操作自动录制脚本,然后在浏览器上回放 Selenium WebDriver 前身是Selenium RC,可以发命令给浏览器,模拟用户操作 支持Java,Python等语言创建更复杂的测试 Selenium RC包括 ...

lovefantasy2010的博客 668
上一篇: JValue supports 32 bit integer with bson
下一篇: Determining if a point lies on the interior of a polygon
mathgl
博客等级 码龄19年 1粉丝 98原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值