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

单相变换器的二次纹波分析

1. 单相PWM整流器的二次纹波产生原因   单相变换器的二次纹波产生的原因是功率含有二次脉动分量。设电网电压 us=Vmsin(wt),电网电流IL=Imsin(wt−θ)I_L=I_msin(wt-\theta)IL​=Im​sin(wt−θ)。其中w是电网电压披绿,θ\thetaθ是电流之后电压相位。保证输入功率和输出功率相等,就要保证两者的直流量和交流量对应相等。   uDu_DuD​为 PWM 整流器直流电容电压平均值,IoI_oIo​ 为负载电流平均值 ,uDC^\widehat {u_{DC}

qq_38847810的博客 4973

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

carsim软件教学

第一步打开小锁(红色标注) 新手往往一看界面是灰的,界面内的各种模块打开不了,以为没激活成功 所有模块必须复制之后,进行编辑,不要直接进行修改(很重要) 2.空气动力学模型(红色标注) 这里面主要设定了簧上质量。整车的整备质量在下图模块中进行设定 空气动力学。主要涉及到空气阻力,在下面模块中进行设定,有个问题需要注意,他的空气阻力与汽车理论的空气阻力公式不一致,这一点需要注意 下面这会模块基本上用不到,涉及到一个声音和汽车的外观 下面这个模块主要涉及到发动机功率,传动比还有 tao,档位的传动比,发

weixin_43796045的博客 2550

在没有实验数据的情况下,如何高效快速发表高影响因子论文

最新基于Citespace、vosviewer、R语言的文献计量学可视化分析技术及全流程文献可视化SCI论文高效写作方法

glldxh的博客 371

Python打包教程 PyInstaller和cx_Freeze

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

cfl997 4096

【华为OD机试真题】65、高矮个子排队 | 机试真题+思路参考+代码解析 (C++、Java、Py、C语言、JS)

题目描述 >现在有一队小朋友,他们高矮不同,我们以正整数数组表示这一队小朋友的身高,如数组{5,3,1,2,3}。 >  我们现在希望小朋友排队,以"高" "矮" "高" "矮" 顺序排列,每一个高位置的小朋友要比相邻的位置高或者相等;每个 "矮" 位置的小朋友要比相邻的位置矮或者相等; >  要求小朋友们移动的距离和最小,第一个从“高"位开始排,输出最小移动距离即可。 >  例如,在示范小队{5,3,1,2,3}中, {5, 1, 3, 2, 3}是排序结果。 > 

KJ.JK 2098

[Python]C用API与Python交互

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

airaou 726

Xilinx FPGA平台DDR3设计保姆式教程(3)MIG IP核使用教程及DDR读写时序

干货来了,用DDR搬砖,只需要会用IP就好,Xilinx官方YYDS! ----------------------------------------------------------------------------------------------------------------- 汇总篇: Xilinx平台DDR3设计保姆式教程(汇总篇)——看这一篇就够了 ----------------------------------------------------------...

数字IC/FPGA杂货铺,找一找,或许有你想要的~ 2万+

15、运行语音识别应用:从Mac到微控制器的部署指南

本文详细介绍了如何在Mac上运行语音识别应用,并将其部署到Arduino Nano 33 BLE Sense和SparkFun Edge等微控制器设备上的完整流程。内容涵盖应用构建、设备特定的音频与输出实现、部署步骤、常见问题解决方案及进一步优化建议。通过本指南,开发者可快速实现基于TensorFlow Lite的嵌入式语音识别系统,并根据需求进行自定义修改与功能扩展。

l3m4n的博客 57

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

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

Python开发者 389

基于传统算法的半导体晶圆缺陷检测原理及代码(二)

了解基于传统算法的半导体晶圆缺陷检测原理和方法,对于深入理解半导体制造工艺和质量控制具有重要意义。在半导体制造技术持续创新的浪潮中,基于传统算法的缺陷检测技术也将不断演进,为半导体产业的高质量发展提供坚实可靠的技术支撑,确保在芯片制造的每一个环节都能精准识别和管控缺陷,推动半导体产业迈向更高的发展水平。基于传统算法的半导体晶圆缺陷检测技术在半导体制造的长期发展历程中扮演了重要角色,凭借其成熟的技术体系、较快的检测速度和相对较低的成本,在各个工艺阶段为保障晶圆质量发挥了关键作用。

m0_44975814的博客 2220

使用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

WordPress MasterStudy LMS插件 SQL注入漏洞复现(CVE-2024-1512)

WordPress Plugin MasterStudy LMS 3.2.5 版本及之前版本存在安全漏洞,该漏洞源于对用户提供的参数转义不足,导致可以通过 /lms/stm-lms/order/items REST 路由的 user 参数进行基于联合的 SQL 注入。

0xSec 1437

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

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

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

qq331565760的专栏 1019

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

CentOS安装pypy

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

weixin_34146805的博客 162

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

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、付费专栏及课程。

余额充值